Asp.net

對通用擴展方法的 Razor 支持

  • May 12, 2016

關於 Razor 視圖引擎,假設我想渲染Html.TextBoxFor<SomeModel>(i => i.Name),內聯語法似乎不像:

@Html.TextBoxFor<SomeModel>(i => i.Name)

這似乎不起作用,因為它將泛型解釋為 HTML 標記。我可以使用程式碼塊方法,但是輸出內容的最佳方法是什麼?從這個方法返回的HTML字元串,我是response.write它,還是有它的語法,或者是什麼方法?

謝謝。

我發現有四種方法可以讓 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 中的PluralSight有一個演練 | 混合程式碼和標記部分,關於這個確切的主題。

怎麼樣:

@(Html.TextBoxFor<SomeModel>(i => i.Name))

括號有幫助嗎?

引用自:https://stackoverflow.com/questions/4965680