ASP.NET MVC 3 Razor - 在同一页面/视图上注册和登录表单

时间:2012-06-05 17:48:40

标签: asp.net-mvc-3 razor

我正在使用ASP.NET,MVC3,Razor。在我的网站中,我在所有页面上(在顶部标题中)都有登录表单,用户可以随时登录。当另一个页面出现另一个页面时,会出现问题。我无法弄清楚如何实现这一点。我已经尝试了很多,但我想我需要一个非常小的例子来解决我的问题。该示例可以像在同一页面上的注册表单和登录表单一样简单,它们分开工作,所有验证和其他内容。登录表单和注册表单可以是部分视图或某些人可以建议的可重用的任何内容。

这是_Register.cshtml(共享视图)的代码

@model MVCRnD.Models.RegisterModel

@using (Html.BeginForm("Register","Account")) {

}

@using (Html.BeginForm("Register","Account")) { }

放置上述共享视图的about.cshtml代码

@Html.Partial("_Register")
帐户控制器代码

@Html.Partial("_Register")

[HttpPost]

部分视图即注册表单呈现正常。但是当我点击提交按钮时,它会发布整个表格,但是把我带到注册/账户/注册表,这实际上是正确的。但是我想要在同一页上,而不是去另一种形式。你要我发送完整代码吗?我可以将它上传到某个地方并发送链接。

1 个答案:

答案 0 :(得分:0)

不确定您遇到问题的原因,但无论您使用何种服务器端语言,将两个表单放在同一页面上都是非常常见的做法。

@using (Html.BeginForm("Logon", "Account")) {
   ...
}

@using (Html.BeginForm("Register", "Account")) {
   ...
}

转换为:

<form action="/Account/Logon" method="post">        
   ...
</form>

<form action="/Account/Register" method="post">        
   ...
</form>