簡體   English   中英

如何使用條件剃刀模板C#

[英]How to work conditional razor template c#

我正在嘗試此代碼,但在運行時出錯。 我想如果IsUPS為真值,那么如果IsUPS為false,那么新的表行和表數據將被添加到表中,那么表將具有一個表行和數據? 如何用剃刀模板實現這一目標? 請指導。 謝謝

    string template = "<table><tr><td>This is my sample template, 
    Hello @Model.Name!</td></tr> @if (@Model.IsUPS) {<tr><td> it is ups</td></tr> } 
    </table>";

    string result = Razor.Parse(template, new { Name = "World", IsUPS = true });

假設您的“字符串結果=”行正確運行;

有很多事情我會在這里做不同的事情。

與使用“ @”有關的錯誤消息(您確實應該分享錯誤的內容)。

嘗試這個:

@{
string template = @"<table><tr><td>This is my sample template, Hello" + this.Model.Name + @"!</td></tr>";

if (true)
{
    template += @"<tr><td> it is ups</td></tr>";
}

template += @"</table>";
}

“ @ {}”塊將html封裝在一個razor塊中,因此使用@進行剃刀更改。 請注意,我已經使字符串使用@“”而不是“”,因此,如果要在各行之間分割html,則不需要字符串連接。

首先:我認為錯誤會產生以下陳述:

@if (@Model.IsUPS) 

它應該是:

@if (Model.IsUPS) 

在第一個@您應該放置服務器端代碼,因此在編寫條件時不需要另一個@

第二:模板是否單行粘貼? 如果不是,則需要使用逐字字符串:

string template = @"<table><tr><td>This is my sample template, 
                    Hello @Model.Name!</td></tr> @if (Model.IsUPS) {<tr><td> it is ups</td></tr> } 
                    </table>";

第三:告訴我們您遇到的錯誤。 您正在使用RazorEngine庫嗎?

第四:在我修復該代碼后,請檢查一下自己。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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