asp.Netmvc 3.0知識点整理-----(3).HtmlHelper(Htmlアシストメソッド)紹介

17994 ワード

ビューではHtmlのタイプはSystemである.Web.Mvc.HtmlHelperは,すべてのアシストメソッドがModelStateと対話する必要がある.では、ModelStateとは何でしょうか.これはモデルバインドの付属品であり、モデルバインド中に検出されたすべての検証エラーが保存されています.および、モデルの元の値を更新するためにユーザがコミットします.このブログでは、主によく使われるhtml補助方法の主な役割と使用方法を紹介します.
1. Html.BeginForm()とAjax.BeginForm().
    Html.BeginForm():従来のフォームコミットと同様に、主にフォームのform値を生成します.フォームの強いタイプビューの場合、フォームをコミットするときにフォーム要素name名が自動的に強いタイプビューのタイプエンティティの属性値と同じ値で埋め込まれます.同様にフォームでは、強いタイプのビューであれば、@Modelを直接使用できます.UserNameは指定した場所に値を入力します.
一般的にusing{}と一緒に使用します.そうしないとformの最後にHtmlを追加します.EndForm().
methodの方法はpostとget:コミット後、変数はURLアドレスバーで取得できます.Getがコミットされた場合、サーバの状態は変わりません.クライアントがGetリクエストをサーバに繰り返し送信することは、サーバに悪影響を与えません.
post:フォーム内のすべての要素をコミットすると、Postリクエストがサーバの状態を変更するため、クライアントがサーバにPostリクエストを繰り返し送信することはサーバに影響を与えます.
使用方法:
 
@using( Html.BeginForm( "   ", "Controller ", FormMethod.     , new { target="_blank", @class = "   class ,      ", @id="   id ,        "} )){  }

同等:
<form action="Controller /   " method ="     " class ="   class " id="   id " target="_blank"></form>

  Ajax.BeginForm():
非同期のフォーム提出をサポートし、MVCが持参したAjaxを直接使用することができる.BeginFormは、非同期フォームのコミット動作を簡単に完了できます.
.
@using(Ajax.BeginForm(
new AjaxOptions
{
  UpdateTartetId ="UserLogOnContainer",
  HttpMethod ="Post",
  OnSuccess=""      
}
)) //       ,     Post,      Id UserLogOnContainer    

指定したコントロールのactionにコミットすることもできます.
@using(Ajax.BeginForm("action","controller",null
new AjaxOptions
{
  UpdateTartetId ="UserLogOnContainer",
  HttpMethod ="Post",
  OnSuccess=""      
}
)) //        controller action ,     Post,      Id UserLogOnContainer    

 2. Html.ValidationSummary()
主な用途
  (1). バックグラウンドを表示IsValid検証に失敗した後のプロンプトエラーメッセージ.
  (2). あるいはバックグラウンド検証に合格したが、いくつかの論理検証に合格しなかった.
例えば、ユーザーがログインしたとき、ユーザー名やパスワードが間違っています.エラーメッセージを手動で追加できます
Viewページ:
@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")

Controllerは次のように書くことができます.
ModelState.AddModelError("", "The user name or password provided is incorrect.");

3.Html.ValidationMessage()
機能とHtml.ValidationSummary()と同様に、ModelState辞書で認証に失敗した場合にエラーメッセージを表示します.
使用方法:
コントローラに書き込み:
ModelState.AddModelError("Title","What a terrible name!");

ビューで使用
@Html.ValidationMessage("Title")

 4.Html.TextBox()、Html.TextArea()
主にHtmlをレンダリングするためのtextboxとtextareaです.
使用方法:
@Html.TextBox("title","textbox infomation") 
@Html.TextArea("textAreaTitle","textarea <br/> infomation")

同等:
<input type="text" id="title" name="title"> 
       textbox information 
 </input>
< textarea id="textAreaTitle" name="textAreaTitle"> 
       textarea &lt; br /&gt;  information 
</textarea >

出力された内容はhtmlで符号化されています.
5.Html.Label()
Labelアシストメソッドは