2012-01-17 73 views
0

我有一個內容頁面有一個表單(用戶註冊)。該頁面是從具有from(登錄)的部分視圖的母版頁創建的。當內容頁面中的操作被觸發時(用戶單擊「註冊」按鈕),母版頁部分視圖中的操作也會被觸發。我如何確保只在內容頁面註冊動作被解僱?如何在內容頁面中的操作被觸發時防止部分視圖中的操作被觸發?

母版頁(Register.Master):

... 
<!-- begin login box --> 
<% Html.RenderAction("LogOn1", "Account"); %> 
<!-- end login box --> 
... 

局部視圖(LogOn1.ascx):

<% using (Html.BeginForm()) 
    { %> 
    <div id="login_box"> 
    .... 
    .... 
<% } %> 

和Register.aspx(從Register.Master創建):

<% using (Html.BeginForm()) { %> 
... 

在此先感謝。

回答

0

這就是RenderAction幫手的工作原理。如果你只是想包括一些部分,而不通過控制器使用RenderPartial方法代替:

<% Html.RenderPartial("LogOn1.ascx"); %> 
+0

謝謝,但它沒有奏效。我收到以下異常: 傳入字典的模型項目類型爲'xxxxyyyy.Models.RegisterModel',但該字典需要類型爲'xxxxyyyy.Models.LogOnModel'的模型項目。 – burakk 2012-01-18 10:25:25

+0

@burakk,您可以在調用RenderPartial方法作爲第二個參數時指定模型。你需要傳遞一個'LogOnModel'的實例,這是你的部分似乎被強制類型化的東西。 – 2012-01-18 10:32:00

+0

我試過 <%Html.RenderPartial(「LogOn1」,new xxxyyy.Models.LogOnModel()); %> 但仍然LogOn1動作會觸發...我很困惑:( – burakk 2012-01-18 10:45:40

相關問題