C# 如何序列化所生成的;选择标签";从一个;DropDownList“;使用Jquery标记助手?在Asp.NETMVC中
我需要使用Jquery中提供的**serialize()**方法对表单进行序列化的帮助,但是,它正在序列化一些字段,并保留从DropDownList标记帮助程序生成的标记 这是我的剃须刀代码C# 如何序列化所生成的;选择标签";从一个;DropDownList“;使用Jquery标记助手?在Asp.NETMVC中,c#,jquery,asp.net,asp.net-mvc,serialization,C#,Jquery,Asp.net,Asp.net Mvc,Serialization,我需要使用Jquery中提供的**serialize()**方法对表单进行序列化的帮助,但是,它正在序列化一些字段,并保留从DropDownList标记帮助程序生成的标记 这是我的剃须刀代码 <div class="modal fade" role="dialog" id="MyModal"> <div class="modal-dialog"> <
<div class="modal fade" role="dialog" id="MyModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<a href="#" class="close" data-dismiss="modal">×</a>
<h4 id="ModalTitle"></h4>
</div>
<div class="modal-body">
<form id="form">
<fieldset id="SubmitForm">
@Html.HiddenFor(m => m.SchoolID, new { @id = "SchoolID" })
<div class="form-group">
@Html.TextBoxFor(m => m.SchoolName, new { @value = "School", @id = "SchoolName", @class = "form-control", @placeholder = "SchoolName" })
</div>
<div class="form-group">
@Html.DropDownListFor(m => m.CountryID, ViewBag.CountryList as SelectList, "--Select Country--", new { selected = "true", name = "Country", @id = "CountryID", @class = "form-control" })
</div>
<div class="form-group">
@Html.DropDownListFor(m => m.StateID, ViewBag.StateList as SelectList, "--Select State--", new { selected = "true", name = "State", @value = "State", @id = "StateID", @class = "form-control" })
</div>
<div class="form-group">
<a href="#" class="btn btn-block btn-danger" id="SaveSchoolRecord">Save</a>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</div>
**下面是用于编辑的控制器代码**
public JsonResult GetSchoolById(int SchoolID)
{
var objSchool= _context.Schools
.Where(x => x.SchoolID == SchoolID).SingleOrDefault();
string value = string.Empty;
value = JsonConvert.SerializeObject(objSchool, Formatting.Indented, new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
return Json(value, JsonRequestBehavior.AllowGet);
}
**这是我用来保存数据的Ajax调用**
$("#SaveSchoolRecord").click(function () {
var data = $("#SubmitForm").serialize();
$.ajax({
type: "Post",
url: "/Home/SaveSchoolRecord",
data: data,
success: function (result) {
window.location.href = "/Home/index";
$("#MyModal").modal("hide");
}
})
})
**下面是用于保存的控制器代码**
public JsonResult SaveSchoolRecord(SchoolViewModel model)
{
var result = false;
try
{
if (model.SchoolID > 0)
{
var objSchool = _context.Schools.SingleOrDefault(x => x.SchoolID == model.SchoolID);
objSchool.SchoolName = model.SchoolName;
objSchool.CountryID = model.CountryID;
objSchool.StateID = model.StateID;
_context.SaveChanges();
result = true;
}
else
{
var objSchool = new School();
objSchool.SchoolName = model.SchoolName;
objSchool.CountryID = model.CountryID;
objSchool.StateID = model.StateID;
_context.Schools.Add(objSchool);
_context.SaveChanges();
result = true;
}
}
catch (Exception ex)
{
throw ex;
}
return Json(result, JsonRequestBehavior.AllowGet);
}
public JsonResult SaveSchoolRecord(SchoolViewModel model)
{
var result = false;
try
{
if (model.SchoolID > 0)
{
var objSchool = _context.Schools.SingleOrDefault(x => x.SchoolID == model.SchoolID);
objSchool.SchoolName = model.SchoolName;
objSchool.CountryID = model.CountryID;
objSchool.StateID = model.StateID;
_context.SaveChanges();
result = true;
}
else
{
var objSchool = new School();
objSchool.SchoolName = model.SchoolName;
objSchool.CountryID = model.CountryID;
objSchool.StateID = model.StateID;
_context.Schools.Add(objSchool);
_context.SaveChanges();
result = true;
}
}
catch (Exception ex)
{
throw ex;
}
return Json(result, JsonRequestBehavior.AllowGet);
}