巨大转变!ASP.NET MVC2行为方法新改进

  在 上一篇文章中,我们看到了构建用户界面的基本实现。但在现实世界中,我们需要使用更加复杂的方法来开发出更复杂的用户界面。例如,用户不希望点击应用程序中的多个链接才浏览到他们想要的信息,他们希望能够很方便的在一个视图中便取得他们要求的所有信息。

  在ASP.NET MVC中,我们仍然可以使用用户控件来创建一个应用程序中的可重用组件—它们被称为部分视图(Partial View)。自从ASP.NET MVC 1.0始就提供了这一支持。在本文中,我们还要使用这种方法,并且结合MVC 2.0中提供的一个新功能—Html.Action,联合起来使用。

  一、创建用户界面

  在Web表单中,当用户界面变得极其复杂时,开发人员往往通过构建一个巨大的ASPX页面或者把复杂的逻辑分解成单独的用户控件或自定义控件的途径来克服这一复杂性。通常情况下,只有当非常有必要进行重用时才把自定义控件派上用场,而用户控件则被经常使用,这是因为它们易于使用且设计简单的缘故。

  在ASP.NET MVC中,上述这些类似功能可以借助于部分视图(相当于用户控件)或自定义HTML助理类(相当于自定义控件)来实现。

  借助于MVC 2.0中新引入的一个功能—Html.Action方法,可以使一个行为方法把它的响应直接注入到一个父级视图中。而第二个行为方法返回待注入的一个视图,我们可以把这个方法实现为一个自我包含的实体或类型。局部视图可以建立一个表单以回寄到它的控制器,而主视图可以回寄到另一个不同的控制器。这种实现表单间互动的思路可谓清晰易懂,但在实现这种方法时仍然有一些问题值得关注。下面,让我们研究一个具体的示例。

  清单1—使用Html.Action方法的表单示例

<ASP:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<p>
Main Action
</p>
<% Html.BeginForm(); %>
<div>
Name:
<%= Html.TextBox("IndexName")%>
</div>
<div>
Value:
<%= Html.TextBox("IndexValue")%>
</div>
<input type="submit" value="save" />
<% Html.EndForm(); %>
<%= Html.Action("Custom", new { title = "Test Title" })%>
</ASP:Content>

NET技术巨大转变!ASP.NET MVC2行为方法新改进,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。