我有以下内容:
@if ((@Model.SeqId != 0) & (Model.SeqId != 1))
{
<text>
window.location.href = "www.stackoverflow.com";
</text>
}
我对剃刀了解不多。有什么我可以做的让它变得更简单吗?
答案 0 :(得分:2)
是的,你可以。我们只需在您的视图模型上定义属性
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 ActionResult Foo()
{
var model = ...
if (model.ShouldRedirectToSO)
{
return Redirect("http://www.stackoverflow.com");
}
return View(model);
}
答案 1 :(得分:1)
SeqId能否小于0?如果没有,你可以做
@if (Model.SeqId > 1)
{
<text>
window.location.href = "www.stackoverflow.com";
</text>
}
此外,您不需要在代码块中使用@模型。你可能想要使用&amp;&amp;而不是&amp;因为一旦第一次测试失败就会失败,节省了几个CPU周期。
http://msdn.microsoft.com/en-us/library/2a723cdk(v=vs.71).aspx