是否可以将多行HTML作为字符串参数传递给HTML帮助程序?

时间:2012-05-13 19:34:28

标签: c# asp.net-mvc-3 razor html-helper

我的用例是我有一个html模板我希望编译服务器端但是在RAZOR视图中定义。

使用RAZOR语法渲染此模板是不可能的,因为该值只是客户端。像jQuery模板之类的东西。

理想情况下,它会从tje视图中传递出来:

@Html.Template(<this somehow indicates it's the start of my string>
    <div>Hello {{= NameOfHomePlanet }}</div>
    <div>And welcome to a second line!</div>
</this somehow indicates it's the end of my string>);

现在在帮手中:

public static Template(this Html html, string template) 
{
    // tmplate == "    <div>Hello {{= NameOfHomePlanet }}</div>\n"
    // + "<div>And welcome to a second line!</div>";
}

这将导致最外层虚构标记之间的HTML作为名为Template的Html助手的第一个参数传入。

在玩游戏时我无法获得语法。这可能吗?

1 个答案:

答案 0 :(得分:0)

我不建议这样做,但你当然可以

@{
  string someHtml = "<div>" + model.NameOfHomePlanet + "</div>";
}

@Html.CustomHelperTemplate(someHtml)

除此之外,很难分辨,因为你的问题很模糊。