C# 在C ASP.NET视图中动态嵌入Html属性
如果满足条件,我将尝试为div动态设置attributedata状态 我目前正在使用@Html.Raw助手,但是它没有进入元素 我还尝试使用Response.Write,但它只是将所有内容写入页面顶部 有没有最好的方法将其嵌入到代码中,或者创建/设置一个新属性C# 在C ASP.NET视图中动态嵌入Html属性,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,如果满足条件,我将尝试为div动态设置attributedata状态 我目前正在使用@Html.Raw助手,但是它没有进入元素 我还尝试使用Response.Write,但它只是将所有内容写入页面顶部 有没有最好的方法将其嵌入到代码中,或者创建/设置一个新属性 @foreach (var r in Model) { <div class="marker" data-date="@r.date_finished" d
@foreach (var r in Model)
{
<div class="marker"
data-date="@r.date_finished"
data-name="@r.name"
@if (r.complete == "CP")
{
@Html.Raw("data-status='complete'");
}
>
</div>
}
这应该做到:
<div class="marker"
data-date="@r.date_finished"
data-name="@r.name"
@{if (r.complete == "CP") { <text>data-status='complete'</text> }}>
注意tag的用法。这是Razor用于按原样输出内容的特殊标记。这应该可以做到:
<div class="marker"
data-date="@r.date_finished"
data-name="@r.name"
@{if (r.complete == "CP") { <text>data-status='complete'</text> }}>
注意tag的用法。这是Razor用于按原样输出内容的特殊标记。当我遇到这种情况时,我使用第三级表达式:
<div @(r.complete == "CP" ? "data-status='complete'" : "") >
如果您的逻辑更复杂,您还可以使用静态助手方法
<div @r.RenderComplete() >
public static class RExtension{
public static string RenderComplete( this R r){
// logic here
}
}
当我遇到这种情况时,我使用第三级表达式:
<div @(r.complete == "CP" ? "data-status='complete'" : "") >
如果您的逻辑更复杂,您还可以使用静态助手方法
<div @r.RenderComplete() >
public static class RExtension{
public static string RenderComplete( this R r){
// logic here
}
}
完美的这很有效。此外,还有一个小的编辑,但它应该是数据状态为“完成”。我在刚才提供的示例中犯了错误,仅供参考。太好了!这很有效。此外,还有一个小的编辑,但它应该是数据状态为“完成”。在我刚才提供的示例中,我做得不对,仅供参考。