|
在 上一篇文章中,我們看到了構(gòu)建用戶界面的基本實(shí)現(xiàn)。但在現(xiàn)實(shí)世界中,我們需要使用更加復(fù)雜的方法來(lái)開發(fā)出更復(fù)雜的用戶界面。例如,用戶不希望點(diǎn)擊應(yīng)用程序中的多個(gè)鏈接才瀏覽到他們想要的信息,他們希望能夠很方便的在一個(gè)視圖中便取得他們要求的所有信息。
在ASP.NET MVC中,我們?nèi)匀豢梢允褂糜脩艨丶?lái)創(chuàng)建一個(gè)應(yīng)用程序中的可重用組件—它們被稱為部分視圖(Partial View)。自從ASP.NET MVC 1.0始就提供了這一支持。在本文中,我們還要使用這種方法,并且結(jié)合MVC 2.0中提供的一個(gè)新功能—Html.Action,聯(lián)合起來(lái)使用。
一、創(chuàng)建用戶界面
在Web表單中,當(dāng)用戶界面變得極其復(fù)雜時(shí),開發(fā)人員往往通過構(gòu)建一個(gè)巨大的ASPX頁(yè)面或者把復(fù)雜的邏輯分解成單獨(dú)的用戶控件或自定義控件的途徑來(lái)克服這一復(fù)雜性。通常情況下,只有當(dāng)非常有必要進(jìn)行重用時(shí)才把自定義控件派上用場(chǎng),而用戶控件則被經(jīng)常使用,這是因?yàn)樗鼈円子谑褂们以O(shè)計(jì)簡(jiǎn)單的緣故。
在ASP.NET MVC中,上述這些類似功能可以借助于部分視圖(相當(dāng)于用戶控件)或自定義HTML助理類(相當(dāng)于自定義控件)來(lái)實(shí)現(xiàn)。
借助于MVC 2.0中新引入的一個(gè)功能—Html.Action方法,可以使一個(gè)行為方法把它的響應(yīng)直接注入到一個(gè)父級(jí)視圖中。而第二個(gè)行為方法返回待注入的一個(gè)視圖,我們可以把這個(gè)方法實(shí)現(xiàn)為一個(gè)自我包含的實(shí)體或類型。局部視圖可以建立一個(gè)表單以回寄到它的控制器,而主視圖可以回寄到另一個(gè)不同的控制器。這種實(shí)現(xiàn)表單間互動(dòng)的思路可謂清晰易懂,但在實(shí)現(xiàn)這種方法時(shí)仍然有一些問題值得關(guān)注。下面,讓我們研究一個(gè)具體的示例。
清單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技術(shù):巨大轉(zhuǎn)變!ASP.NET MVC2行為方法新改進(jìn),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。