ASP.NET MVC輔助方法小結
用了ASP.NET MVC也有一年了,不過一直只會用一些常見功能,照葫蘆畫瓢,對其原理不甚清楚,近來空閒之餘便開始看講解其技術的書籍,才豁然開朗,現做一小結,目的有二:1 鞏固知識點 2.供新手學習。
最直觀的便是舉例說明,請看下面:
@Html.TextBox(“name”,"value",new{id="testid",@class="testclass"})
以前一直不理解為何除了class前邊要加@,其他屬性都無需@,現在才知正是因為Html屬性的class是C#保留字,所以在設定class時,需要加上“@”來跳脫。
再看下例:
@Html.TextBox(“name”,"value",ViewData["Dictionnary"] as IDictionary<string,object>)
public ActionResult Test() { IDictionary<string,object> attr=new Dictionary<string,object>(); attr.add("class","test"); attr.add("style","color:red"); attr.add("size","20"); ViewData["Dictionary"]=attr; return View(); }
上述方法正是為了減少重複,無需在每個TextBox()中都定義相同的html屬性。
下拉選單也如此:
@Html.DropdownList("list",ViewData["item"] as SelectList,"請選擇")
由於ASP.NET MVC窗體只能發出GET和POST請求,為了能提供REST類似的方式來處理DELETE操作,同時又能利用同一個視窗來只允許HttpDelete動作,可以利用Html.HttpMethodOverride()這個輔助方法來模擬HTTP DELETE動作,而模擬的方法其實只是將一個隱藏欄位加入視窗中而已。
@using (Html.BeginForm()) { @Html.HttpMethodOverride(HttpVerbs.Delete) @Html.Hidden("id") <input type="submit" value="刪除" /> }
Ajax輔助方法
使用ajax輔助方法時,必須 在頁面或者MasterPage中載入MicrosoftAjax.js與MicrosoftMvcAjax.js這兩個js檔案,並且載入順序要正確。
最常見的Ajax輔助方法有下面兩個:
Ajax.ActionLink()
Ajax.BeginForm()
eg:
@Ajax.ActionLink("Link Text", "Test", new AjaxOptions { UpdateTargetId="ajax"})
下面對AjaxOptions屬性做一簡單介紹:
1.Conform 單擊時會彈出Conform對話方塊
2.HttpMethod 設定Http請求方法(Get或Post)
3.InsertionMode 設定通過Ajax輔助方法取回資料時要如何將資料插入到目標DOM元素(即UpdateTargetId)中,有三種方法:
InsertionMode.Replace 替代UpdateTargetId屬性指定的內容
InsertionMode.InsertBefore 在UpdateTargetId屬性之前插入
InsertionMode.InsertAfter 在UpdateTargetId屬性之後插入
4.LoadingElementId 在讀取尚未完成時所顯示的文字
5.OnBegin 設定開始時要呼叫的javascript函式名稱
6.OnComplete 設定結束時要呼叫的javascript函式名稱
7.OnFailure 設定失敗時要呼叫的javascript函式名稱
8.OnSuccess 設定成功時要呼叫的javascript函式名稱
9.UpdateTargetId 設定返回值要顯示在哪個Id上
10.Url 設定請求的網址
相關文章
- ASP.NET 的MVC結構之AJAXASP.NETMVC
- Asp.Net Mvc+Angular.Js自測小DemoASP.NETMVCAngularJS
- ASP.NET MVC模型繫結——繫結部分欄位ASP.NETMVC模型
- 【ASP.NET Core】MVC操作方法如何繫結Stream型別的引數ASP.NETMVC型別
- ASP.NET MVC 應用提速的十種方法ASP.NETMVC
- ASP.NET MVC 5 - 查詢Details和Delete方法ASP.NETMVCAIdelete
- ASP.net路由原理小結ASP.NET路由
- Asp.net MVC中ViewData與ViewBag的使用方法ASP.NETMVCView
- ASP.NET MVC路由ASP.NETMVC路由
- ASP.NET MVC ModuleASP.NETMVC
- ASP.NET MVC TemplateASP.NETMVC
- ASP.NET MVC ErrorASP.NETMVCError
- ASP.NET MVC FilterASP.NETMVCFilter
- UpdatePanel for ASP.NET MVCASP.NETMVC
- ASP.NET MVC同步和非同步的使用總結ASP.NETMVC非同步
- iOS MVC+P+M 個人Note小結iOSMVC
- jquery+mvc專案問題小結jQueryMVC
- ASP.NET MVC與ASP.NET WebFormASP.NETMVCWebORM
- Asp.Net Mvc後臺資料驗證自測小DemoASP.NETMVC
- ASP.NET MVC在IIS6下部署的小技巧ASP.NETMVC
- [ASP.NET MVC 小牛之路]01 - 理解MVC模式ASP.NETMVC模式
- Asp.Net MVC HttpPost用法ASP.NETMVCHTTP
- ASP.NET MVC 反射例子ASP.NETMVC反射
- Asp.Net MVC 快取ASP.NETMVC快取
- Asp.Net MVC 使用 AjaxASP.NETMVC
- ASP.NET MVC ValidationASP.NETMVC
- ASP.NET MVC: Membership, OAuthASP.NETMVCOAuth
- ASP.NET MVC系列:AreaASP.NETMVC
- ASP.NET MVC系列:ModelASP.NETMVC
- AJAX Panels with ASP.NET MVCASP.NETMVC
- ASP.NET MVC 之 AJAXASP.NETMVC
- ASP.NET MVC和AJAXASP.NETMVC
- ASP.NET MVC 介紹ASP.NETMVC
- ASP.NET MVC 4使用PagedList.Mvc分頁ASP.NETMVC
- ASP.NET MVC4中呼叫WEB API的四個方法ASP.NETMVCWebAPI
- 【輝郎】ASP.NET MVC深度接觸:ASP.NET MVC請求生命週期ASP.NETMVC
- AutoMapper在MVC中的運用小結APPMVC
- 【ASP.NET開發】ASP.NET(MVC)三層架構知識的學習總結ASP.NETMVC架構