[英]Get MultiView like behavior with ASP.NET MVC
我正在尝试使用 ASP.NET MVC 构建一个通用的表单提交系统。 我想让创建带有表单视图和“成功”视图的表单尽可能容易。 使用 WebForms 方法,这很容易并且可以通过模板或多视图来完成。 使用MVC,我有点卡住了。
这是我想效仿的:
<% if (formNotSubmitted) { %>
<% Html.BeginForm(...); %>
<%= Html.TextBox("FirstName") %>
<%= Html.TextBox("LastName") %>
<input id='submit' type='submit' value='Submit' />
<%= Html.ValidationSummary %>
<% Html.EndForm(); %>
<% } else { %>
<p>Thank you!</p>
<p><img src='thanks.jpg' /></p>
<p>Other items here maybe.</p>
<% } %>
理想情况下,我想使用 Ajax,但也可以直接使用 POST。 我还想以某种方式包装它以避免“if..else”代码。 使这比典型的 ASP.NET MVC Ajax 表单更难的是控制器不知道成功消息/内容应该是什么。 我见过的大多数演示都让控制器发回一条消息,但我需要在视图中使用该代码。
任何指导表示赞赏。
你可以用控制器
[AcceptVerbs("GET")]
public ActionResult Signup( )
{
// somecode that builds an html string
ViewData["form"] = htmlStringYouBuilt;
}
[AcceptVerbs("POST")]
public ActionResult Login( string username, string password )
{
// etc
}
then in the view
<%= ViewData["form"] %>
我已经能够成功地使用这种技术。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.