2011-06-10 63 views
1

我使用剃刀引擎MVC3和我有一個條件,當它是真的應該automaticaly重定向到發送對象作爲參數,另一個頁面。我想要做的是:如何將頁面從視圖重定向到ASP.NET MVC 3中的控制器?

@if(條件> 10){

Url.Action( 「編輯」,產品); //在此行automaticaly重定向到動作編輯發送的對象作爲參數,如果存在Html.Helper爲我做到這一點 }

有人知道? 我的意思是重定向到這樣的頁面:someHtmlHelper(「myAction」,「myController」,myObject)。

我試圖做到這一點使用JavaScript和工程差不多,我只是覺得在URL參數的一些問題。 Url.Action返回符號代碼,而不是特殊字符的caracter。像「&」而不是「&」。

@if(COND> 10) { 變種URL = Url.Action( 「編輯」,產品);

var Url ='@url'; location.href = Url;

<}

的URL結果是: http://localhost:4772/Product/Edit?ProductId=2234&Code=0020582&Name ...

如果MVC3沒有我將傷者實施了單個頁面的重定向。

所以我需要幫助。 謝謝。

+0

@Renvn是屬性'cond'從控制器來的?如果是這樣,爲什麼不在請求仍然是服務器端時從那裏重定向呢? – 2011-06-10 18:42:19

回答

3

該視圖不是適合這種邏輯的地方。

根據您的解決方案,您應該:

A)檢查侑控制器的情況下,返回查看之前和重定向有像這樣:

if (cond >= 10) 
    return RedirectToAction("ADifferentResult"); 

B)使用部分意見有條件喜歡的RenderAction:

@{ 
    if (cond > 10) 
     Html.RenderAction("ADifferentResult"); 
    else 
     Html.RenderAction("DefaultResult"); 
} 
1
@if (cond > 10){@Html.ActionLink("Edit", "Product", new { ProductId = 2234, Code = 0020582 })} 
相關問題