mvc UrlHelper
1316 ワード
Helperとは、実はViewでいくつかの柔軟な機能を実現するために書かれたメソッドグループです.
実はASP.NET MVCのViewはAspxのページで定義方法自体を宣言できるのですが、なぜHelperがあるのでしょうか?
実はインタフェースと論理を分離することにほかならないし、Asp.NetMVCはAspxの一種であるViewだけでなく、拡張パッケージにはCastleのNVelocityエンジンやBoo、View Sparkのページもあります.
したがって、Aspxでメソッドを定義と、その拡張性や移植性に影響を与える.コードもあまりきれいではありません
UrlHelperのActionメソッドはURLアドレスを生成するために使用され、その使用方法は
現在のControllerの下でIndexというAction<%=Url.Action(“Index”)%> index
現在のControllerの下でIndexというAction<%=Url.Action(“Index”,new{id=1})%> index?id=1
EiceControllerの下でIndexというAction<%=Url.Action(“Index”,"Eice")%>/eice/index
EiceControllerの下でIndexというAction<%=Url.Action(“Index”,"Eice",new{id=1})%>/eice/index?id=1
例えば私はViewにUrlと書きます.Action(「Index」,「Home」)は、実行後に/Home/Indexというアドレスが生成され、システム内のURL Routingルールが常に変化する場合、このHelperが必須です.
これもUrlHelperの1つの方法の使用方法である<%=Url.Encode("中国語")%>機能とサーバ.UrlEncodeと同じで、ここではあまり言いません.
サーバパスを絶対パスに変換します.
のように
最後の結果は
実はASP.NET MVCのViewはAspxのページで定義方法自体を宣言できるのですが、なぜHelperがあるのでしょうか?
実はインタフェースと論理を分離することにほかならないし、Asp.NetMVCはAspxの一種であるViewだけでなく、拡張パッケージにはCastleのNVelocityエンジンやBoo、View Sparkのページもあります.
したがって、Aspxでメソッドを定義と、その拡張性や移植性に影響を与える.コードもあまりきれいではありません
一、UrlHelper.Action
UrlHelperのActionメソッドはURLアドレスを生成するために使用され、その使用方法は
現在のControllerの下でIndexというAction<%=Url.Action(“Index”)%> index
現在のControllerの下でIndexというAction<%=Url.Action(“Index”,new{id=1})%> index?id=1
EiceControllerの下でIndexというAction<%=Url.Action(“Index”,"Eice")%>/eice/index
EiceControllerの下でIndexというAction<%=Url.Action(“Index”,"Eice",new{id=1})%>/eice/index?id=1
例えば私はViewにUrlと書きます.Action(「Index」,「Home」)は、実行後に/Home/Indexというアドレスが生成され、システム内のURL Routingルールが常に変化する場合、このHelperが必須です.
二、UrlHelper.Encode
これもUrlHelperの1つの方法の使用方法である<%=Url.Encode("中国語")%>機能とサーバ.UrlEncodeと同じで、ここではあまり言いません.
三、UrlHelper.Content
サーバパスを絶対パスに変換します.
のように
<%=Url.Content("~/content/site.css") %>
最後の結果は
/content/site.css