如果我执行<%= ..%>,则Html帮助扩展可以工作,但如果我执行<%Html.MyExt(); %>

Bla*_*man 1 asp.net asp.net-mvc html-helper

为什么我的html帮助扩展可以工作:

<%= Html.MyExt() %>
Run Code Online (Sandbox Code Playgroud)

所有mvc助手的工作方式如下:

<% Html.TextBox(""); %>
Run Code Online (Sandbox Code Playgroud)

我的扩展构建一个StringBuilder,然后返回一个字符串.

Dar*_*rov 6

此帮助程序必须返回写入响应流(使用)的字符串(ASP.NET MVC 1.0)或MvcHtmlString(ASP.NET MVC 2.0 Response.Write):

<%= Html.MyExt() %>
Run Code Online (Sandbox Code Playgroud)

这个帮助器什么都不返回(void)它只是执行扩展方法:

<% Html.TextBox(""); %>
Run Code Online (Sandbox Code Playgroud)