我發現了很多關于如何使用 MarkupString 的例子,但它并沒有做它應該做的事情。
在我的 blazor 組件中,我有:
<small class="help-text editable-label" @ref="HelpText">
@(!string.IsNullOrWhiteSpace(Model.HelpText) ? (MarkupString)Model.HelpText : "Double-click here to add text")
</small>
我現在有一個簡單的模型,我將 HelpText 初始化為
"<b><i>This is a test</b></i>"
在我的網頁中,我得到了顯示的確切輸出。(見附圖)。
uj5u.com熱心網友回復:
這其實是對變幻莫測的?:。不知何故,MarkupString 值被轉換為object?然后string再次轉換。
老實說,我很驚訝您的代碼編譯,這兩個分支?:必須是“賦值兼容”,并且 MarkupString 不能分配給字串。
你可以這樣做:
<small class="help-text editable-label" @ref="HelpText">
@((MarkupString)(!string.IsNullOrWhiteSpace(ModelHelpText) ? ModelHelpText : "Double-click here to add text"))
</small>
但這變得如此丑陋,我會將其移至@code 部分。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/495290.html
