说明上说

大家对ASP.NET MVC 2要求的一个常用特性是,要我们支持强类型的HTML辅助方法,这样的辅助方法使用 lambda 表达式来引用传到视图模板中的模型或视图模型。这可以促成更好的编译时视图检查(可以在编译时发现缺陷,而不是在运行时),还可以促成视图模板中更好的代码intellisense支持。
”我就汗了,这样似乎效率变得很“不友好”。虽然说不用怎么“注重效率”,但也没必要这样的语法吧?                <div class="editor-label">
                    <%= Html.LabelFor(m => m.UserName) %>
                </div>
                <div class="editor-field">
                    <%= Html.TextBoxFor(m => m.UserName) %>
                    <%= Html.ValidationMessageFor(m => m.UserName) %>
                </div>
不知道是不是我太菜,无法深得其精髓了?总的来说,MVC 2,已经升级为变态了……

解决方案 »

  1.   

    在 缓存中,为什么这个无效的, 找了半天也找不到答案……    <%Response.WriteSubstitution(new HttpResponseSubstitutionCallback(ccontent => DateTime.Now.ToString())); %>
      

  2.   

    这可以促成更好的编译时视图检查(可以在编译时发现缺陷,而不是在运行时),还可以促成视图模板中更好的代码intellisense支持难道说的还不够清楚吗?===================================================
    ASP.NET WebForm和ASP.NET MVC分页最终解决之道
      

  3.   

    强类型HTML辅助方法已经内置于ASP.NET MVC 2中,使用"Html.HelperNameFor()”的命名规范。如,Html.TextBoxFor(), Html.CheckBoxFor(), Html.TextAreaFor()等等。支持使用lambda表达式来指定元素的名称和id,以及要显示的值。
      

  4.   

     <%= Html.LabelFor(m => m.UserName) %>
    这样的语法,我怎么才能自定义id呢?
      

  5.   

    <%= Html.LabelFor(m => m.UserName,new (@id="myid")) %> 也可以这样 改class什么的
      

  6.   

    现在已经是这样了:
    @Html.TextBoxFor(m => m.UserName)感觉这样的代码很爽,样式之类的都交给css跟jquery处理就OK了,.net专注于.net的事。而且views的代码量非常少,不会像php之类的前台乱七八遭那种现象的发生。