在完成表单后单击提交按钮时,它不会转到控制器发布方法,问题是由jQuery引起的,但我不知道为什么。一旦我删除脚本提交按钮工作。
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type='text/javascript'>
$(document).ready(function () {
$("#brand_Brand_ID").change(function (e) {
e.preventDefault();
// this will call when Brand Dropdown select change
var brandID = parseInt($("#brand_Brand_ID").val());
if (!isNaN(brandID)) {
var ddModel = $("#Model_ID");
ddModel.empty(); // this line is for clear all items from Model dropdown
ddModel.append($("<option></option").val("").html("Select model"));
// Here I will call Controller Action via Jquery to load Model for selected Brand
$.ajax({
url: "@Url.Action("GetModels","ModelSpec")",
type: "GET",
data: { brandID: brandID },
dataType: "json",
success: function (data) {
$.each(data, function (i, val) {
ddModel.append(
$("<option></option>").val(val).html(val));
});
},
error: function () {
alert("Fail");
}
});
}
});
});
</script>
和html部分&gt;
@using (Html.BeginForm("Create", "ModelSpec", FormMethod.Post)) {
@Html.ValidationSummary(true)
****Lots of textboxes etc here ****
<input id="Add" type="submit" value="Add"><br />
@Html.RouteLink("Continue", new { action = "Create", controller = "ModelSpec" })
@Html.RouteLink("Back", new { action = "Create", controller = "Model" })
}
答案 0 :(得分:0)
如果您为#Add按钮单击事件调用preventDefault,则不会触发事件的默认操作,因此您将删除剃刀提交事件的绑定,该事件是剃刀格式的实际帖子。 如果你评论这一行 $(&#34; #Add&#34;)。on(&#34; click&#34;,function(e){ //e.preventDefault(); }); 并点击ctrl + F5清理浏览器缓存表单的帖子应该可以工作。