为Razor中的html元素提供id而不使用类 @if(Model.Something!=null) { 模特儿 } 其他的 { 模型2.somethingels2 }

为Razor中的html元素提供id而不使用类 @if(Model.Something!=null) { 模特儿 } 其他的 { 模型2.somethingels2 },razor,Razor,我犯了一个错误。此页上的另一个对象已使用ID“SpanID”。 我想通过只使用ID(而不使用类)来实现这一点,因为其他很多事情都依赖于此 您可以重写它: @if (Model.Something != null) { <span id="SpanID">Model.SomethingElse</span> } else { <span id="SpanID">Model.SomethingElse2</span> } @{ if(

我犯了一个错误。此页上的另一个对象已使用ID“SpanID”。 我想通过只使用ID(而不使用类)来实现这一点,因为其他很多事情都依赖于此

您可以重写它:

@if (Model.Something != null)  
{ 
<span id="SpanID">Model.SomethingElse</span> 
}  
else  
{
<span id="SpanID">Model.SomethingElse2</span>
}
@{
if(Model.Something!=null){
ViewData[“任意”]=Model.SomethingElse;
}
否则{
ViewData[“whatever”]=Model.somethingels2;
}
}
@ViewData[“任意”]
或者使用ViewModel,将复选框从视图移动到控制器(我认为它所属的位置)。

您可以重写它:

@if (Model.Something != null)  
{ 
<span id="SpanID">Model.SomethingElse</span> 
}  
else  
{
<span id="SpanID">Model.SomethingElse2</span>
}
@{
if(Model.Something!=null){
ViewData[“任意”]=Model.SomethingElse;
}
否则{
ViewData[“whatever”]=Model.somethingels2;
}
}
@ViewData[“任意”]

或者使用ViewModel,将复选框从视图移动到控制器(我认为它所属的位置)。

声明一个变量并在范围内使用它

@{
    if (Model.Something != null) {
        ViewData["whatever"] = Model.SomethingElse;
    }
    else {
        ViewData["whatever"] = Model.SomethingElse2;
    }
}

<span id="SpanID">@ViewData["whatever"]</span> 
@{
var result=Model.Something!=null?
Model.SomethingElse:Model.somethingels2;
}
@结果

正如Alex提到的,最好的方法是将此逻辑移动到控制器,并仅使用视图所需的数据填充
ViewModel
。这也使得更多的代码可测试。

声明一个变量并在您的范围内使用它

@{
    if (Model.Something != null) {
        ViewData["whatever"] = Model.SomethingElse;
    }
    else {
        ViewData["whatever"] = Model.SomethingElse2;
    }
}

<span id="SpanID">@ViewData["whatever"]</span> 
@{
var result=Model.Something!=null?
Model.SomethingElse:Model.somethingels2;
}
@结果

正如Alex提到的,最好的方法是将此逻辑移动到控制器,并仅使用视图所需的数据填充
ViewModel
。这也使您的代码更易于测试。

我认为这没关系,您不应该担心编辑的抱怨。我认为这没关系,您不应该担心编辑的抱怨。这很有效。。。但我想在那里有一个ID,这样即使在页面加载之后,我也可以操纵这些跨距。但我认为,我想完成的任何事情都是针对HTML基础的,除了类/或您的方法之外,没有其他方法。谢谢这很有效。。。但我想在那里有一个ID,这样即使在页面加载之后,我也可以操纵这些跨距。但我认为,我想完成的任何事情都是针对HTML基础的,除了类/或您的方法之外,没有其他方法。谢谢这正是我想要的。谢谢。使用此方法,我不必使用Viewdata或类。这真的救了我一天。这正是我想要的。谢谢。使用此方法,我不必使用Viewdata或类。这真的救了我一天。