我已經使用asp.net web表單很多,但這是我第一個ASP.Net MVC應用程序。我想要做的是使用子視圖來渲染一些控件,這些控件是相對獨立於頁面顯示和操作的。例如,我有一個日曆「小工具」,它使用服務器端邏輯在每次點擊日期時顯示事件列表,而完全獨立於頁面其餘部分的處理。asp.net mvc子動作
在Web窗體中,我可以創建一個ASCX(Web用戶控件)。當在控件中點擊一個日期時,整個頁面被回傳,但我可以將點擊處理放在日曆控件中;頁面的其餘部分會自動進行往返處理,而無需使用任何特定的邏輯來處理日曆控件的回發。
如果我將「日期點擊」操作路由到日曆控制器,它不知道它所嵌入的頁面,因此它只能繪製日曆,而不是頁面的其餘部分。我能想到的唯一解決方法(除了ajax)是讓擁有頁面的控制器處理所有日曆點擊操作,並在呈現整個頁面的視圖之前將它們傳遞到日曆控制器上
希望我錯過了一些東西明顯。
是的,這個。另外,如果您需要像母版頁一樣重新使用佈局,請嘗試構建模板,這本質上是一回事。 – 2012-01-16 21:28:50
感謝您的回覆,我已經查看了網址並閱讀了一些內容,但仍然有些東西缺失。我瞭解如何使用部分視圖和子操作來初始化呈現日曆控件的視圖,但是如何在日曆中的某個日期點擊時發生什麼?這個點擊動作應該可能會發送到日曆控制器(這樣它可以檢索該日期的項目),但日曆控制器不能渲染頁面的其餘部分嗎?我所見過的所有關於子視圖的例子只生成靜態內容或導航鏈接,而不是「回發」控件 – Andy 2012-01-16 21:55:27
您可能需要使用ajax來更新頁面的日曆部分 – 2012-01-16 23:03:02