2012-12-11 73 views
0

我有一個kendoUI TabStrip控件。其中,我有兩個選項卡:產品和支持。我如何在asp.net中使用兒童唯一的動作mvc

這兩個標籤是兩個不同的視圖。我已經定義了標籤欄是這樣的:

<div id="tabs"> 
    <div> 
     <iframe src="../Products/Index"></iframe> 
    </div> 
    <div> 
     <iframe src="../Support/Index"></iframe> 
    </div>      
</div> 

而且在腳本:

$("#tabs").kendoTabstrip({}); 

然後卡口與各自的視圖頁來了。但產品和支持頁面不會直接打開。我的意思是在網址欄中輸入localhost:4567/Product/Index時,它不會打開頁面,它只會在我們選擇標籤頁時打開。

我有兩個控制器的這種行爲定義爲:

[ChildActionOnly] 
public ActionResult Index() 
{ 
    return View(); 
} 

然後當我經營的主要頁面,則得到一個例外,它只能由唯一的孩子動作被調用。當我選擇標籤時,它應該成爲兒童行爲。 我該如何糾正這個問題?我沒有包括:

@Html.action("Index","Products") 

如果我需要包括那,我應該在那裏添加? 希望你明白我的問題...

回答

2

ChildActionOnly屬性確保只能從視圖內調用操作方法作爲子方法。動作方法不需要將此屬性用作子動作,但我們傾向於使用此屬性來防止由於用戶請求而調用動作方法。定義了一個動作方法後,我們需要創建在調用動作時將呈現的內容。兒童行爲通常與局部視圖相關聯,雖然這不是強制性的

所以不是

@Html.action("Index","Products"). 

你應該嘗試

@Html.Partial("Products").