我已经阅读过相同主题的先前帖子,但我无法弄清楚我的代码有什么问题。这是我的HTML
@model Models.Submissions
@{
ViewBag.Title = "Application";
}
<h2 class="Centre" >@ViewBag.Title</h2>
@using (Html.BeginForm("Create","Submissions",FormMethod.Post))
{
@Html.ValidationSummary(true)
<fieldset>
<table id="ApplicationTable">
<tr>
<td>
@Html.LabelFor(model => model.SubmissionId)
</td>
<td>
@Html.TextBoxFor(model => model.SubmissionId)
</td>
</tr>
<tr>
<td>
@Html.LabelFor(model => model.SubmissionDate)
</td>
<td>
@Html.TextBoxFor(model => model.SubmissionId)
</td>
</tr>
</table>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
这是我的控制器。单击按钮不会触发提交控制器的http post方法。顺便说一句,我的控制器是“SubmissionsController”
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(Submissions submission)
{
try
{
// TODO: Add insert logic here
// my logic
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
谢谢..!帮助感谢
答案 0 :(得分:1)
似乎你正在尝试为表单包含jquery验证,所以我的谦虚猜测是,你的客户端验证会因为验证错误而无法回发到服务器。尝试禁用该验证,然后重试。无法提供更多信息,因为我不知道你的javascript究竟做了什么,但我认为你现在应该能够自己修复它。
正如琼西正确指出的那样,你的代码中有一个拼写错误。第二个文本框应为model.SubmissionDate
。这可能导致我之前提到的验证错误。