我有一份就业记录列表,您也可以使用部分视图从同一页面添加就业记录。
Heres employment.cshtml,其中包含记录列表的部分视图,以及部分视图,用于添加以弹出模式弹出的新记录。
<h2>Employment Records</h2>
@{Html.RenderPartial("_employmentlist", Model);}
<p>
<a href="#regModal" class="btn btn_b" rel="fancyReg">Add New Record</a>
</p>
<div style="display:none">
<div id="regModal">
@{Html.RenderPartial("_AddEmployment", new ViewModelEmploymentRecord());}
</div>
</div>
继承部分视图_AddEmployment.cshtml
@using (Html.BeginForm("AddEmployment, Application"))
{
@Html.ValidationSummary(true)
<div class="formEl_a">
<fieldset>
<legend></legend>
<div class="sepH_b">
<div class="editor-label">
@Html.LabelFor(model => model.employerName)
</div>
etc....etc....
</fieldset>
</div>
<p>
<input type="submit" class="btn btn_d" value="Add New Record" />
</p>
}
并且是我的应用程序控制器:
[HttpPost]
public ActionResult AddEmployment(ViewModelEmploymentRecord model)
{
try
{
if (ModelState.IsValid)
{
Add Data.....
}
}
catch
{
}
return View(model);
}
编译时,会为表单生成以下html:
<form action="/Application/Employment?Length=26" method="post">
它带来一个长度字符串?并且正在调用就业控制器?
希望一切都清楚......
问题一:当我从局部视图中单击提交按钮时,它不会转到指定添加数据的控制器。任何人都可以看到我出错的地方吗?
问题二:当我开始工作时,我想用新记录更新就业清单......我是否正确地采用这种方式?任何提示赞赏。
答案 0 :(得分:9)
答案1:首先尝试这个,让我知道是否会击中你的控制器。
@using (Html.BeginForm("AddEmployment", "Application", FormMethod.Post))
答案2:要更新就业清单,我会假设您希望将模型保存到您的数据库,然后将您的工作清单显示在同一页面或不同页面上,将数据从数据库调用到列表中或要显示的表格。
修改强> 看起来好像没有应用表单属性。 对于你的employment.cshtml,我个人不会在我的@Html语句中使用{}。 你不能做我上面所说的,因为你的错误只有在我把它写成
时才会发生 @using (Html.BeginForm("AddEmployment, Application", FormMethod.Post))
缺少那些收尾报价是造成问题的原因。
答案 1 :(得分:1)
jQuery代码:
window.jQuery(document).ready(function () {
$('#btnsave').click(function () {
var frm = $("form");
var data = new FormData($("form")[0]);
debugger;
$.ajax({
url: '/Home/Update',
type: "POST",
processData: false,
data: data,
dataType: 'json',
contentType: false,
success: function (response) {
alert(response);
},
error: function (er) { }
});
return false;
});
});
控制器代码
[HttpPost]
public JsonResult Update(Generation obj)
{
if (ModelState.IsValid)
{
return Json("done");
}
else
{
return Json("error create");
}
}
使用这些代码,您可以使用jquery发布表单并在jsonresult中获取响应
答案 2 :(得分:0)
你已经放置了@using (Html.BeginForm("AddEmployment, Application"))
这样做是为了调用一个名为"AddEmployment, Application"
的动作我觉得你的意思是@using (Html.BeginForm("AddEmployment", "Application"))
答案 3 :(得分:0)
我知道这是很老的问题 它对您不起作用的原因是因为您的语法 这是您的代码
@using (Html.BeginForm("AddEmployment, Application"))
修复
@using (Html.BeginForm("AddEmployment", "Application"))
致谢