我创建了一个基本的 MVC 应用程序。
对于主视图,我创建了一个 Create.cshtml 页面:
<h2>title Create</h2>
在家庭控制器上,我添加了 get 方法:
public ActionResult Create(int id)
{
return View();
}
在我的 Index.cshtml 视图中,我有:
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">
http://asp.net/mvc</a>.
</p>
<div class="clicky">click me</div>
<script type="text/javascript">
$(function () {
$(".clicky").click(function () {
$.get('@Url.Action("Create")', { id: "1" }, function () {
});
});
});
</script>
想象一下当我运行它时我的惊讶,发现当点击我时,屏幕没有改变。
我在 Create 上放了一个断点,发现这个方法确实被输入了。萤火虫也没有任何错误迹象。
然后我将脚本更改如下:
<script type="text/javascript">
$(function () {
$(".clicky").click(function () {
//$.get('@Url.Action("Create")', { id: "1" }, function () {
//});
window.location.href = '/Home/Create/1';
});
});
</script>
该应用程序现在按预期工作,返回 Create 视图。
有人可以向我解释为什么我以前的方法不起作用吗?