簡體   English   中英

我們如何在MVC Razor視圖中引用HTML標記元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM