2011-06-17 89 views
0

我有以下幾點:我可以剃刀語法簡單

@if ((@Model.SeqId != 0) & (Model.SeqId != 1)) 
    { 
    <text> 
    window.location.href = "www.stackoverflow.com"; 
    </text> 
} 

我不知道很多關於剃刀。我能做些什麼來簡化它嗎?

回答

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

可以選擇小於0嗎?如果沒有,你可以做

@if (Model.SeqId > 1) 
{ 
    <text> 
    window.location.href = "www.stackoverflow.com"; 
    </text> 
} 

此外,你不需要@代碼塊中的模型。您可能希望使用& &而不是&,因爲只要第一次測試失敗,就會失敗,從而節省幾個CPU週期。

http://msdn.microsoft.com/en-us/library/2a723cdk(v=vs.71).aspx