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リクエストを繰り返し送信することはサーバに影響を与えます.
使用方法:
同等:
Ajax.BeginForm():
非同期のフォーム提出をサポートし、MVCが持参したAjaxを直接使用することができる.BeginFormは、非同期フォームのコミット動作を簡単に完了できます.
.
指定したコントロールのactionにコミットすることもできます.
2. Html.ValidationSummary()
主な用途
(1). バックグラウンドを表示IsValid検証に失敗した後のプロンプトエラーメッセージ.
(2). あるいはバックグラウンド検証に合格したが、いくつかの論理検証に合格しなかった.
例えば、ユーザーがログインしたとき、ユーザー名やパスワードが間違っています.エラーメッセージを手動で追加できます
Viewページ:
Controllerは次のように書くことができます.
3.Html.ValidationMessage()
機能とHtml.ValidationSummary()と同様に、ModelState辞書で認証に失敗した場合にエラーメッセージを表示します.
使用方法:
コントローラに書き込み:
ビューで使用
4.Html.TextBox()、Html.TextArea()
主にHtmlをレンダリングするためのtextboxとtextareaです.
使用方法:
同等:
出力された内容はhtmlで符号化されています.
5.Html.Label()
Labelアシストメソッドは
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 < br /> information
</textarea >
出力された内容はhtmlで符号化されています.
5.Html.Label()
Labelアシストメソッドは