关于Razor视图引擎,假设我想渲染Html.TextBoxFor<SomeModel>(i => i.Name)
,内联语法似乎不像以下那样工作:
@Html.TextBoxFor<SomeModel>(i => i.Name)
这似乎不起作用,因为它将泛型解释为HTML标记。我可以使用代码块方法,但那么输出内容的最佳方法是什么?从这个方法返回的HTML字符串,我是响应它还是写它,还是有它的语法,或者是什么方法?
感谢。
答案 0 :(得分:9)
怎么样:
@(Html.TextBoxFor<SomeModel>(i => i.Name))
括号有帮助吗?
答案 1 :(得分:6)
我发现有四种方法可以让razor明确解析(而不是试图弄清楚要做什么):
- @(some code) (this is the method used by @Matt Hamilton)
- Html.Raw("some encoded text")
- <text>Some encoded text</text>
- @@
这里只有第一个可以使用。
Razor和ASP.NET MVC 3.0中有a walkthrough on PluralSight在这个确切的主题上混合代码和标记部分。