我的表格是这样的:
<form class="float_left" method="post" action="Home/Start">
....
<input type="submit" value="start"/>
</form>
当我点击提交按钮时,我将进入HomeController.Start()方法,执行一些操作然后再次调用View(视图是Index.cshtml)。像这样:
[HttpPost]
public ActionResult Start(ModelClass model)
{
//here I do things
return View("Index", model);
}
我第一次点击按钮时,一切都像我期望的那样,但是如果我再次点击按钮,它将尝试到达Home / Home / Start而不是Home / Start。任何的想法 ?感谢
答案 0 :(得分:1)
如果您拥有格式("Home/Start"
),则它与当前页面相关,因此可以根据您的位置更改URL。
相反,您应该像Url.Action
那样使用:
<form class="float_left" method="post" action="@Url.Action("Start", "Home")">
这将创建一个绝对URL,无论当前的URL是什么,它都将始终相同。
您还应该查看其他HtmlHelpers
。 This blog post by Michael Kennedy is an excellent tutorial.