首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET MVC Codeplex Preview 5 實戰(二):Controller 新特性與 Filter 應用

     編輯:關於ASP.NET

模型綁定更新:BindingHelperExtensions.UpdateFrom → UpdateModel

  • TryUpdateModel(x, Request.Form.AllKeys):回傳 bool 表示是否成功;缺點:表單含模型無欄位會報錯。
  • TryUpdateModel(x, new[] {"IDX","Name"}):指定欄位,但逐一列舉繁瑣。
  • TryUpdateModel(x, new[] {"IDX","Name"}, "Account"):指定前綴,支援多模型。
  • 確定無誤可用 UpdateModel(拋出異常而非回傳 bool)。
  • 搭配 HtmlHelper.ValidationMessage 可自動判空顯示錯誤。

Action 陣列參數綁定

View: 多個同名 CheckBox。

<%using(Html.Form("home","save",FormMethod.Post)){%>
  <%=Html.CheckBox("like")%> <%=Html.CheckBox("like")%> <%=Html.CheckBox("like")%> <%=Html.CheckBox("like")%>
  <%=Html.SubmitButton()%>
<%}%>

Action: public ActionResult Save(string[] like) 即可接收陣列值。

AcceptVerbs Filter:限制 HTTP 動詞

[AcceptVerbs("Post")]
public ActionResult Save() { ... } // 僅 POST 可訪問

[AcceptVerbs("Post","GET")]
public ActionResult Save() { ... } // POST 或 GET 可訪問

ActionName Filter:重新命名 Action

[ActionName("MyAction")]
public ActionResult Save() { return View("Index"); }

原 /home/save 失效,必須用 /home/myaction 訪問。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved