MVC HtmlHelper BeginForm使用参数进行不同的渲染

时间:2015-01-27 19:04:46

标签: asp.net-mvc asp.net-mvc-routing html-helper

因此,在一个相当大的应用程序中,我有一个使用HtmlHelper的表单“Product1”的视图。

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()
    ...etc
}

这将呈现:

<form action="/Products/Product1?__RequestVerificationToken=PYs...
...
</form>

这很有效。

但是,如果我将其更改为(或任何类似的)

@using (Html.BeginForm(null, null, FormMethod.Post, new {onsubmit = "return validationCheck()"}))
...etc

呈现

<form action="/Login?action=Product1&controller=Products" method="post" onsubmit="return validationCheck()">

传递给BeginForm的任何参数会强制它返回登录屏幕。我的理解是输入空值与使用默认值相同。我已经为BeginForm()尝试了很多参数组合,所有这些参数都会将我发送到我的登录屏幕。

我知道这里的信息有限(对不起),但我正在寻找一个原因,说明为什么它会有所不同。使用默认参数,我认为它应该与没有任何参数的情况完全相同。

我真正想要工作的是validationCheck,所以如果你有一个可以做到这一点的解决方法,我也很想听到它。

0 个答案:

没有答案