Asp.net mvc 我可以简化razor语法吗
我有以下资料:Asp.net mvc 我可以简化razor语法吗,asp.net-mvc,Asp.net Mvc,我有以下资料: @if ((@Model.SeqId != 0) & (Model.SeqId != 1)) { <text> window.location.href = "www.stackoverflow.com"; </text> } @if((@Model.SeqId!=0)和(Model.SeqId!=1)) { window.location.href=“www.stackoverflow.com”; } 我对剃须刀了解不多。我能
@if ((@Model.SeqId != 0) & (Model.SeqId != 1))
{
<text>
window.location.href = "www.stackoverflow.com";
</text>
}
@if((@Model.SeqId!=0)和(Model.SeqId!=1))
{
window.location.href=“www.stackoverflow.com”;
}
我对剃须刀了解不多。我能做些什么使它更简单吗 是的,你可以。只需在视图模型上定义属性即可
public bool ShouldRedirectToSO
{
get
{
return (SeqId != 0 && SeqId != 1);
}
}
然后:
<script type="text/javascript">
@if (Model.ShouldRedirectToSO)
{
@:window.location.href = 'http://www.stackoverflow.com';
}
</script>
是的,你可以。只需在视图模型上定义属性即可
public bool ShouldRedirectToSO
{
get
{
return (SeqId != 0 && SeqId != 1);
}
}
然后:
<script type="text/javascript">
@if (Model.ShouldRedirectToSO)
{
@:window.location.href = 'http://www.stackoverflow.com';
}
</script>
SeqId是否可以小于0?如果没有,你可以这样做
@if (Model.SeqId > 1)
{
<text>
window.location.href = "www.stackoverflow.com";
</text>
}
@if(Model.SeqId>1)
{
window.location.href=“www.stackoverflow.com”;
}
此外,您不需要在代码块中@Model。您可能希望使用&&而不是&因为一旦第一次测试失败,它就会失败,从而节省一些CPU周期
SeqId是否可以小于0?如果没有,你可以这样做
@if (Model.SeqId > 1)
{
<text>
window.location.href = "www.stackoverflow.com";
</text>
}
@if(Model.SeqId>1)
{
window.location.href=“www.stackoverflow.com”;
}
此外,您不需要在代码块中@Model。您可能希望使用&&而不是&因为一旦第一次测试失败,它就会失败,从而节省一些CPU周期