爲什麼我的HTML輔助擴展工作,如果我做的:Html助手擴展工作,如果我做<%= .. %>但不是如果我做<%Html.MyExt(); %>
<%= Html.MyExt() %>
所有MVC的助手工作,如:
<% Html.TextBox(""); %>
我的分機建立一個StringBuilder,然後返回一個字符串。
爲什麼我的HTML輔助擴展工作,如果我做的:Html助手擴展工作,如果我做<%= .. %>但不是如果我做<%Html.MyExt(); %>
<%= Html.MyExt() %>
所有MVC的助手工作,如:
<% Html.TextBox(""); %>
我的分機建立一個StringBuilder,然後返回一個字符串。
此助手必須返回string(ASP.NET MVC 1.0)或MvcHtmlString(ASP.NET MVC 2.0)被寫入到響應流(使用Response.Write
):
<%= Html.MyExt() %>
該輔助返回任何(空隙)它只是執行擴展方法:
<% Html.TextBox(""); %>
<%= command %>
運行該命令並打印返回的字符串。該命令必須返回一個字符串。
<% command; %>
只是運行命令。該命令返回的任何內容都將被忽略。
我見過的大多數HTML幫助器都使用第一種格式。