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