单击提交按钮两次时,更改了方法的路径

时间:2015-09-03 13:10:56

标签: c# model-view-controller

我的表格是这样的:

   <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。任何的想法 ?感谢

1 个答案:

答案 0 :(得分:1)

如果您拥有格式("Home/Start"),则它与当前页面相关,因此可以根据您的位置更改URL。

相反,您应该像Url.Action那样使用:

<form class="float_left" method="post" action="@Url.Action("Start", "Home")">

这将创建一个绝对URL,无论当前的URL是什么,它都将始终相同。

您还应该查看其他HtmlHelpersThis blog post by Michael Kennedy is an excellent tutorial.