Click here to Skip to main content
15,891,316 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

I have table designed view with four columns with four text boxes, I have given add more option to repeat 4 text boxes again depends on user. If I click on Add More button 4 text boxes are repeating but I I entered any data from in second column that data is not saving in db.

please help me How can I store all the data in db.
below is my code
HTML
<table class="table" style="font-family:Verdana; width:80%" id="table1">


HTML
 <tr>
                <td>@Html.DisplayNameFor(model => model.attendanceHolidaySerialNumber)</td>
                <td>@Html.DisplayNameFor(model => model.attendanceHolidayDateorDay)</td>
                <td>@Html.DisplayNameFor(model => model.attendanceHolidayDetails)</td>
                <td>@Html.DisplayNameFor(model => model.attendanceHolidayType)</td>                
            </tr>
<pre lang="HTML"><tr class="data-contact-person">
                <td>@Html.EditorFor(model => model.attendanceHolidaySerialNumber, new { htmlAttributes = new { @class = "form-control " } })</td>
                <td>@Html.EditorFor(model => model.attendanceHolidayDateorDay, new { htmlAttributes = new { @class = "form-control " } })</td>
                <td>@Html.EditorFor(model => model.attendanceHolidayDetails, new { htmlAttributes = new { @class = "form-control" } })</td>
                <td>@Html.EditorFor(model => model.attendanceHolidayType, new { htmlAttributes = new { @class = "form-control " } })</td>
                <td>
                    <button type="button" id="btnAdd" class="btn btn-xs btn-primary classAdd">Add More</button>
                </td>
            </tr>







<br />
<script type="text/javascript"><br />
<br />
    $(document).ready(function () {<br />
        $(document).on("click", ".classAdd", function () {<br />
            var rowCount = $('.data-contact-person').length + 1;<br />
            var contactdiv = '<tr class="data-contact-person">' +<br />
                '<td>@Html.EditorFor(model => model.attendanceHolidaySerialNumber, new { htmlAttributes = new { @class = "form-control " } })' + rowCount + '  </td>'+ <br />
                '<td>@Html.EditorFor(model => model.attendanceHolidayDateorDay, new { htmlAttributes = new { @class = "form-control " } })' + rowCount + '</td>'+ <br />
                '<td>@Html.EditorFor(model => model.attendanceHolidayDetails, new { htmlAttributes = new { @class = "form-control" } })' + rowCount + '</td>' +<br />
                 '<td>@Html.EditorFor(model => model.attendanceHolidayType, new { htmlAttributes = new { @class = "form-control " } })' + rowCount + '</td>' +<br />
                '<td><button type="button" id="btnAdd" class="btn btn-xs btn-primary classAdd">Add More</button>' +<br />
                '<button type="button" id="btnDelete" class="deleteContact btn btn btn-danger btn-xs">Remove</button></td>' + <br />
                '</tr>';<br />
            $('#table1').append(contactdiv); // Adding these controls to Main table class<br />
        });<br />
    });<br />
</script><br />
<script><br />
$(document).on("click", ".deleteContact", function () {<br />
            $(this).closest("tr").remove(); // closest used to remove the respective 'tr' in which I have my controls<br />
});<br />
</script><br />


What I have tried:

I post my code in describe the problem window because I could not know the format how to post the code in what have you tried window.

Please suggest me. How do I can store the data in database.

thank you
Posted
Comments
Karthik_Mahalingam 20-Aug-16 1:42am    
creating model binding in JavaScript is of no use, change your logic
Member 12224368 20-Aug-16 3:42am    
ok.
I changed from model binding to below code.
<tr class="data-contact-person">
<td><input type="text" name="attendanceHolidaySerialNumber" class="form-control attendanceHolidaySerialNumber" /></td>
<td><input type="date" name="attendanceHolidayDateorDay" class="form-control attendanceHolidayDateorDay" /></td>
<td><input type="text" name="attendanceHolidayDetails" class="form-control attendanceHolidayDetails" /></td>
<td><select id="attendanceHolidayType" name="attendanceHolidayType" class="form-control attendanceHolidayType">
<option value="">Select</option>
<option value="0">DH</option>
<option value="1">PH</option>
</select>

</td>
<td>
<button type="button" id="btnAdd" class="btn btn-xs btn-default classAdd"></button>
</td>
</tr>


script is below

<script type="text/javascript">

$(document).ready(function () {
$(document).on("click", ".classAdd", function () { //
var rowCount = $('.data-contact-person').length + 1;
var contactdiv = '<tr class="data-contact-person">' +
'<td><input type="text" name="attendanceHolidaySerialNumber' + rowCount + '" class="form-control attendanceHolidaySerialNumber" /></td>' +
'<td><input type="date" name="attendanceHolidayDateorDay' + rowCount + '" class="form-control attendanceHolidayDateorDay" /></td>' +
'<td><input type="text" name="attendanceHolidayDetails' + rowCount + '" class="form-control attendanceHolidayDetails" /></td>' +
'<td><input type="text" name="attendanceHolidayType' + rowCount + '" class="form-control attendanceHolidayType" /></td>' +
'<td><button type="button" id="btnAdd" class="btn btn-xs btn-default classAdd"></button>' +
'<button type="button" id="btnDelete" class="deleteContact btn btn btn-red btn-xs"></button></td>' +
'</tr>';
$('#table1').append(contactdiv); // Adding these controls to Main table class
});
});
</script>
<script>
$(document).on("click", ".deleteContact", function () {
$(this).closest("tr").remove(); // closest used to remove the respective 'tr' in which I have my controls
});
</script>

Please let me know how do I save data in Db.
Karthik_Mahalingam 20-Aug-16 4:06am    
does the data goes to the controller?
Member 12224368 20-Aug-16 5:17am    
Nobelow is my controller action method

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult HolidayCreate([Bind(Include = "attendanceHolidayID,attendanceHolidayYear,attendanceYear,attendanceHolidaySerialNumber,attendanceHolidayDateorDay,attendanceHolidayDetails,attendanceHolidayType,attendanceHolidayCreatedDateandTime,attendanceHolidayUpdatedDateandTime")] AttendanceHolidayViewModel attendanceHolidayViewModel)
{
if (ModelState.IsValid)
{
db.AttendanceHolidayViewModels.Add(attendanceHolidayViewModel);
db.SaveChanges();
return RedirectToAction("HolidayCreate");
}
return View(attendanceHolidayViewModel);
}
Karthik_Mahalingam 20-Aug-16 5:18am    
posting through ajax or form post?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900