[英]How can we reference an HTML markup element in an MVC Razor View
使用MVC Razor,我們如何在視圖中引用HTML標記元素作為模板(可以作為字符串或對象傳遞給幫助器)?
所需功能的示例(或類似功能,我更喜歡一種/標准化的方法,但我找不到一個):
@TemplateOne {
<!--Standard Razor markup:-->
<div>
<p>@Model.Summary</p>
<table>
<tr>
<td>Lorem ispum...</td>
</tr>
</table>
</div>
}
參考編號:
@{
var templateToPassToHelper = TemplateOne;
}
我知道上面代碼的語法不正確,因為它不適用於我的本地測試。 我最接近完成此操作的方法是使用以下命令(它不能回答問題或解決問題,因為變量只是一個字符串,使用此方法使開發人員無法使用Visual Studio intellisense和其他HTML編輯幫助):
string template =
@"<html>
<head>
<title>Hello @Model.Name</title>
</head>
<body>
Email: @Html.TextBoxFor(m => m.Email)
</body>
</html>";
您可以通過幾種方式來完成您正在談論的事情。
@ brent-mannering評論:
創建一個剃刀局部文件(_partial.cshtml):
<div>
<p>@Model.Summary</p>
<table>
<tr>
<td>Lorem ispum...</td>
</tr>
</table>
</div>
然后在需要模板的任何地方使用@Html.Partial("_partial.cshtml",Model)
。
或者您可以使用一個輔助函數:
@helper TemplateOne(){
<div>
<p>@Model.Summary</p>
<table>
<tr>
<td>Lorem ispum...</td>
</tr>
</table>
</div>
}
<!--body of your page-->
@TemplateOne()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.