嗨,我的视野中有6个字段。我需要将同一列中的那六个字段保存在同一个单元格中。在表格中保存这6个字段的格式如下所示。
所以我尝试使用Ajax Success事件保存这六个字段。使用Ajax sucess事件我将这六个字段保存在TaxInfoTaxFiled表中(dp_TaxInfoTaxFiled:dataTable)
<script>
$(document).ready(function () {
$('#dataTable').DataTable();
});
if (isAllValid) {
var data = {
TinNo: $('#TinNo').val().trim(),
CstNo: $('#CstNo').val().trim(),
//Sorry forgot to add Description Field
PanNo: $('#PanNo').val().trim(),
ServiceTaxNo: $('#ServiceTaxNo').val().trim(),
ExciseRegNo: $('#ExciseRegNo').val().trim(),
CinNo: $('#CinNo').val().trim(),
dp_TaxInfoTaxFiled: dataTable
}
$(this).val('Please wait...');
$.ajax({
url: '/BulkInsertController/Save',
type: "POST",
data: JSON.stringify(data),
dataType: "JSON",
contentType: "application/json",
success: function (d) {
//check is successfully save to database
if (d.status == true) {
//will send status from server side
alert('Successfully done.');
//clear form
dataTable = [];
$('#TinNo').val('');
$('#CstNo').val('');
$('#PanNo').val('');
$('#ServiceTaxNo').val('');
$('#ExciseRegNo').val('');
$('#CinNo').val('');
$('#dataTable').empty();
}
else {
alert('Failed');
}
$('#submit').val('Save');
},
error: function () {
alert('Error. Please try again.');
$('#submit').val('Save');
}
});
}
</script>
<table id="dataTable" border="0" cellpadding="0" cellspacing="0" style ="background-color : orange">
<tr style="border:1px solid black">
<td>@Html.LabelFor(Model=>Model.TinNo)</td>
<td>@Html.TextBoxFor(Model=>Model.TinNo , new { id = "TinNo" })</td>
<td>@Html.HiddenFor(model => model.TinNo, new { id= "FD713788-B5AE-49FF-8B2C-F311B9CB0CC4" })</td>
</tr>
<tr style="border:1px solid black">
<td>@Html.LabelFor(Model=>Model.CstNo)</td>
<td>@Html.TextBoxFor(Model=>Model.CstNo , new { id = "CstNo" })</td>
<td>@Html.HiddenFor(model => model.CstNo, new { id= "64B512E7-46AE-4989-A049-A446118099C4" })</td>
</tr>
<tr style="border:1px solid black">
<td>@Html.LabelFor(Model=>Model.PanNo)</td>
<td>@Html.TextBoxFor(Model=>Model.PanNo , new { id = "PanNo" })</td>
<td>@Html.HiddenFor(model => model.PanNo,new { id= "376D45C8-659D-4ACE-B249-CFBF4F231915" })</td>
</tr>
<tr style="border:1px solid black">
<td>@Html.LabelFor(Model=>Model.ServiceTaxNo)</td>
<td>@Html.TextBoxFor(Model=>Model.ServiceTaxNo , new { id = "ServiceTaxNo" })</td>
<td>@Html.HiddenFor(model => model.ServiceTaxNo,new { id= "2F405521-06A0-427C-B9A3-56B8931CFC57" })</td>
</tr>
<tr style="border:1px solid black">
<td>@Html.LabelFor(Model=>Model.ExciseRegNo)</td>
<td>@Html.TextBoxFor(Model=>Model.ExciseRegNo, new { id = "ExciseRegNo" })</td>
<td>@Html.HiddenFor(model => model.ExciseRegNo,new { id= "03ADA903-D09A-4F53-8B67-7347A08EDAB1" })</td>
</tr>
<tr style="border:1px solid black">
<td>@Html.LabelFor(Model=>Model.CinNo)</td>
<td>@Html.TextBoxFor(Model=>Model.CinNo, new { id = "CinNo" })</td>
<td>@Html.HiddenFor(model => model.CinNo,new { id= "59A2449A-C5C6-45B5-AA00-F535D83AD48B" })</td>
</tr>
</table>
<input type="submit" value="Save " />
}
我编写了代码,使用ajax sucess事件在TaxInfoTaxFieldTable中保存这六个字段。我在控制器中编写代码,将那六个字段保存在该表的特定列中。在控制器中,我需要在TaxFieldID和FieldValue列中保存这六个字段。但我在(TaxFieldID = new Guid(ti))重载错误中出错。现在我使用ajax成功事件在TaxInfoTaxfiled表中保存这六个字段。现在我需要的是我需要保存那些特定列中的六个字段。但它显示错误。为此我能做什么。我需要一个解决此错误的方法
public ActionResult Save()
{
List<TaxField> ti = new List<TaxField>();
List<TaxInfoTaxFiled> ci = new List<TaxInfoTaxFiled> { new TaxInfoTaxFiled { TaxInfoTaxFieldID = Guid.NewGuid(), TaxFieldID = new Guid(ti), FieldValue = "", } };
return View(ci);
//return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(List<TaxInfoTaxFiled> ci)
{
ViewBag.TaxFieldID = new SelectList(db.TaxField, "TaxFieldID", "DisplayName");
if (ModelState.IsValid)
{
using (VisitorsEntities dc = new VisitorsEntities())
{
foreach (var i in ci)
{
dc.TaxInfoTaxFiled.Add(i);
}
dc.SaveChanges();
ViewBag.Message = "Data successfully saved!";
ModelState.Clear();
ci = new List<TaxInfoTaxFiled> { new TaxInfoTaxFiled { TaxInfoTaxFieldID = Guid.NewGuid(), TaxFieldID = new Guid(), FieldValue = "" } };
}
}
return View(ci);
}