發(fā)文章
發(fā)文工具
撰寫
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊(cè)
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
三、View如何從Aciton取得數(shù)據(jù)
從Action取得數(shù)據(jù),在ASP.NET MVC可區(qū)分成兩種方式,一種是“使用弱類型取得數(shù)據(jù)”,另一種則是“使用強(qiáng)類型取得數(shù)據(jù)”,兩者的差別在于View頁面最上方聲明的方式。
如果View頁面使用弱類型接收來自Controller的數(shù)據(jù),在View頁面里完全不需要有任何聲明,數(shù)據(jù)可以從ViewData、ViewBag或TempData取得,在頁面中也可以通過@Model屬性,取得從Action傳來的ViewData.Model數(shù)據(jù)模型,但@Model數(shù)據(jù)模型的類型將會(huì)是object,所以算是弱類型的傳值方式。
如果View頁面使用強(qiáng)類型方式接收來自Controller的數(shù)據(jù),那么,必須在View頁面的第一行使用@model關(guān)鍵字引入一個(gè)View頁面專用的數(shù)據(jù)模型類型參考。使用這種方式有助于提升View的開發(fā)效率,因?yàn)榭梢允褂肰isual Studio 2012的Intellisense提示功能。
1.使用弱類型模型取得數(shù)據(jù)
2.使用強(qiáng)類型模型取得數(shù)據(jù)
四、HTML輔助方法
顧名思義,HTML輔助方法(HTML Helper)就是用來輔助產(chǎn)生HTML只用,在開發(fā)View的時(shí)候一定會(huì)面對(duì)許多HTML標(biāo)簽,處理這些HTML的工作非常繁瑣,為了降低View的復(fù)雜度,可以使用HTML輔助方法幫助你產(chǎn)生一些HTML標(biāo)簽或內(nèi)容,因這些HTML標(biāo)簽都有固定標(biāo)準(zhǔn)的寫法,所以將其包裝成HTML輔助方法,可讓View開發(fā)更快速,也可以避免不必要的語法錯(cuò)誤。
ASP.NET MVC中內(nèi)建了許多HTML輔助方法,這些HTML輔助方法都是利用C#3.0的擴(kuò)充方法特性,將各種不同的HTML輔助方法擴(kuò)充在HtmlHelper類別里,并且都擁有多載。
1.使用HTML輔助方法輸出超鏈接
使用Html.AcionLink()時(shí),第一個(gè)參數(shù)為超鏈接的顯示文字,此參數(shù)不可以輸入空字符串、空白字符串或null值,否則會(huì)跑出The Value cannot be null or empty的異常。
如果想設(shè)計(jì)一個(gè)包含超鏈接的圖片按鈕,可選擇用<a>超鏈接標(biāo)簽來輸出,并通過CSS加上一個(gè)背景圖,如下。
<a href="@Url.Action("ActionName")" class="lnkButton"></a>
ASP.NET MVC還有另一個(gè)Html.RouteLink輔助方法,其用法與Html.ActionLink非常相似,差別僅在于輸入的參數(shù)要以RouteValue為主。
2.使用HTML輔助方法輸出表單
(1)產(chǎn)生表單元素
使用using語法產(chǎn)生表單標(biāo)簽:
@using(Html.BeginForm("About","Home")) { @Html.TextArea("Date") @Html.TextArea("MEMO") <input type="submit"/> }
使用Html.BeginForm輔助方法輸出的表單預(yù)設(shè)輸出的method屬性會(huì)是POST,如果想指定為GET的話,可以輸入第三個(gè)參數(shù),如下。
@using(Html.BeginForm("Search","Home",FormMethod.Get)) { @Html.TextArea("Keyword") <input type="submit" /> }
如果想要用HTML表單實(shí)現(xiàn)文件上傳的功能,那么必須在輸出的<form>表單標(biāo)簽加上一個(gè)enctype屬性,且內(nèi)容必須設(shè)定為multipart/form-data,如下。
@using(Html.BeginForm("Upload","File",FormMethod.Post,new{enctype="multipart/form-data"})) { @Html.TextBox("File1","",new{type="file",size="25"}) <input type="submit"/> }
Html輔助方法并沒有File方法,因此必須用TextBox方法來代替,并傳入第三個(gè)參數(shù)將內(nèi)建的type屬性換成file即可。
(2)模擬各種HTTP動(dòng)詞
(3)常用表單輸入欄位
(4)使用強(qiáng)類型輔助方法
3.使用HTML輔助方法載入分部視圖
4.使用視圖模板輸出內(nèi)容
5.自定義HTML輔助方法
五、Url輔助方法
六、Ajax輔助方法
1.使用Ajax超鏈接功能
2.使用Ajax表單功能
3.了解AjaxOptions類型
來自: 昵稱10504424 > 《工作》
0條評(píng)論
發(fā)表
請(qǐng)遵守用戶 評(píng)論公約
ASP.Net MVC開發(fā)基礎(chǔ)學(xué)習(xí)筆記(2):HtmlHelper與擴(kuò)展方法
ASP.Net MVC開發(fā)基礎(chǔ)學(xué)習(xí)筆記(2):HtmlHelper與擴(kuò)展方法。繼續(xù)反編譯查看,在System.Web.Mvc命名空間下的HtmlHelper類型如下圖所示,...
ASP.NET MVC架構(gòu)與實(shí)戰(zhàn)系列之三:MVC控件解析
ActionLink(string linkText,string actionName,string controller,string protocol,string hostName,string fragment,object routeValues,object htmlAttributes);ActionLink(string linkText,string ...
演練:使用區(qū)域組織 ASP.NET MVC 應(yīng)用程序
演練:使用區(qū)域組織 ASP.NET MVC 應(yīng)用程序。為了滿足大型項(xiàng)目的需要,ASP.NET MVC 允許您將 Web 應(yīng)用程序劃分為較小單元(也稱為“區(qū)域”)。本演練演示如何在 ASP.NET MVC 應(yīng)用程序中實(shí)現(xiàn)區(qū)域。在 ASP...
ASP.NET MVC4 IN ACTION學(xué)習(xí)筆記
7.2 ASP.NET MVC Ajax Helpers.接下來我們使用一下ActionLink Ajax Helper,Controller我們就不要修改了,我們修改Index.cshtml視圖...
[一步一步MVC]第一回:使用ActionSelector控制Action的選擇
} public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo) { return String.Method, AllowMultiple = false, Inherited = true)]public a...
mvc基礎(chǔ)系列說談(4)——HtmlHelper,自定義,擴(kuò)展HtmlHelper
public static string TextBox(this HtmlHelper htmlHelper, string name)這個(gè)方法,然后最終調(diào)用:public static string TextBox(this HtmlHelper htmlHelper,string name,object value,IDictionary&l...
ASP.NET MVC中的HtmlHelper類
mvc HtmlHelper用法
【.NET框架】—— ASP.NET MVC5 表單和HTML輔助(二)
【.NET框架】—— ASP.NET MVC5 表單和HTML輔助(二)1.1.ASP.NET MVC表單的使用。Html.<div> @Html.Label("lb3", &quo...
微信掃碼,在手機(jī)上查看選中內(nèi)容