1.母版頁是與controller無關的,母版頁只是乙個view檔案,而沒有任何controller與之相對應。
2.其實在asp.net mvc中view的aspx與母版頁並不像webform中那樣緊密關聯。
例如我想更換乙個aspx的母版頁,只要在action中return 時指定所要使用的master即可:
如圖我有2個master檔案,而/views/home/index.aspx則為
這時我們如果想要使用site2做為master,只要在action中return view指定mastername的引數即可:
2: return view(null,"site2");
3: }asp.net mvc中如果要自定義控制項的話並不能像webform那樣用這樣來引用,而要使用helper。
例如我們建立乙個ct.ascx
其內容:
2: 我是ct.ascx然後在index.aspx裡呼叫
ok(注意這裡不是用顯示而是執行語句)
最終顯示結果就是:
使用者自定義控制項除了放在呼叫者同一目錄下,也可以放在view/shared中。而且這種自定義控制項也是沒有controller支援的,僅是將view的部分提取為公共使用。
那麼如果我們想呼叫的ascx有邏輯處理或呼叫資料庫,也就是需要controller的情況下,我們應該怎麼辦呢。
ok比如我想有乙個有獨立邏輯的ascx.
先要引用 microsoft.web.mvc(
)web.config/configuration/system.web/pages/namespaces新增
那麼和建立乙個action是一樣的
action:
2: return partialview();//注意這裡不是view
3: }view(ctaction.ascx)
2:
3: 顯示當前action:view(index.aspx):
2: html.renderaction("ctaction","home"); %>ok執行起來,結果為:
下面來說一下與本篇本無關的話題就是檔案的上傳,我這裡也不多做解釋了,**就是最好的語言。
view:
2:
3:action(process):
2:顯示:
提交後:
再看看資料夾,檔案已經上傳成功:
使用者自定義控制項訪問母版頁中引用的使用者自定義控制項
環境 default頁面,內包含login使用者自定義控制項 masterpage,母版頁,內包含menu使用者自定義控制項 default頁面應用母版頁 實現 login控制項中訪問menu控制項。方法 1.在login控制項中引用menu所在的命名空間 using export.web.cont...
自定義使用者控制項
和做乙個web 窗體一樣,只是,如果引用其中的控制項的方法是如何?以下示例是asp.net 1.1裡的,2.0是怎麼引用,還沒有看書呢 string getddlyear,getddllc,getddladd,getddlpeopso getddlyear class ddlyear this.fi...
自定義使用者控制項
一 專案中新增web 使用者控制項字尾 ascx 注意字尾.ascx,它告訴網頁這是乙個使用者控制項。它沒有什麼特別含義,只是不讓iis去直接執行這段 二 在頁面上新增工具箱的自帶控制項 工具箱拖動控制項到頁面中 三 在後台新增相應執行邏輯及操作 四 重新生成解決方案 五 頁面開始使用 這段 輸出標...