MVC Html助手渲染

时间:2010-01-20 23:14:29

标签: asp.net asp.net-mvc html-helper

我想知道是否可以在代码块内的视图中呈现Html Helper。所以而不是:

<% = Html.TextBox("sometextbox", "somethingelse") %>

我想这样做:

<% 
switch(SomeParameter) 
{
   case "blah":
       Html.TextBox("sometextbox", "somethingelse")
   break;
}
%>

并有这个渲染。当然,它不会呈现,所以有没有办法以编程方式决定是否可以添加文本框而不必在页面中有一百万个分隔符来实现这一目标?

提前致谢!

2 个答案:

答案 0 :(得分:1)

<% 
    switch(SomeParameter) 
    { 
        case "blah": 
            %><%=Html.TextBox("sometextbox", "somethingelse")%><%
            break; 
    } 
%>

<%= %>只是Response.Write()的简写符号,但以下情况也应如此。

<% 
    switch(SomeParameter) 
    { 
        case "blah": 
            Response.Write(Html.TextBox("sometextbox", "somethingelse"));
            break; 
    } 
%>

所有HtmlHelpers都返回一个字符串,不会直接按设计输出到响应流。

答案 1 :(得分:0)

这是你想要的吗?

  <% switch (SomeParameter)
       {
           case "blah": %>
    <%= Html.TextBox("sometextbox", "somethingelse") %>
    <% break;
       } %>