5 控制器和Action方法

2021-09-05 18:57:52 字數 1157 閱讀 3046

控制器和action方法

原文:1. 介紹

控制器的職責:定位並執行action方法,並確保它能正確執行;獲取action方法所需的引數並傳遞給它;捕獲action方法執行期間出現的錯誤;提供「

webformviewfactory」類以便生成asp.net頁面型別的檢視。

乙個簡單的示例:

mvc框架預設認為所有public方法都是action方法。若不想讓某個public方法成為action方法,應該對其使用「

nonactionattribute」屬性標記。

3. action方法的引數

預設地,action方法的引數是一組鍵值對,它們來自form表單、查詢字串和cookie。

控制器基類

controller負責把來自表單資料和

routedata例項的

引數傳給action方法。當引數值無法解析時,若引數時引用或nullable型別,則傳遞null給它,否則則丟擲異常。

為了直接訪問url中的資料,控制器提供了request和response類,他們的語義對應於

httprequest 和

httpresponse。下面是乙個簡單的例子:

public void detail()

4. 自動對映action方法的引數

當http請求中包含與action方法的引數名字相同的引數時,該引數的值將被自動傳遞給action方法。另外,mvc框架同樣支援可選引數,當action方法的引數為nullable型別,且為傳遞給此引數任何值時,控制器將傳遞null給此引數。下面是乙個示例:

public void showarticles(datetime date)

// ...

}

5. 處理未知action

當控制器處理乙個未知的action時,它將丟擲

handleunknownaction異常,控制器預設的處理方式是返回http 404錯誤。另外,可以通過重寫「

handleunknownerror」方法實現自定義的錯誤處理。下面是乙個例子:

public void override handleunknownerror(string action) 

base.handleunknownerror(action);

}

5 控制器和Action方法

routedata例項的 引數傳給action方法。當引數值無法解析時,若引數時引用或nullable型別,則傳遞null給它,否則則丟擲異常。為了直接訪問url中的資料,控制器提供了request和response類,他們的語義對應於 httprequest 和 httpresponse。下面是乙...

控制器和動作方法之Action動作方法

1.產生輸出 控制器在完成了乙個請求的處理後,通常需要生成乙個響應。如 如果想傳送乙個html響應,必須參加並裝配html資料,並用reponse.write方法傳送到客戶端。2.理解動作結果 mvc框架使用動作結果 action result 把指明意圖和執行意圖分離開來。在動作方法被執行後,建立...

5 控制器和狀態

1 模組模式 模組模式是用來封裝邏輯並避免全域性命名空間汙染的好方法,匿名函式也可以做到。在匿名函式的邏輯都在閉包裡面執行,為應用中的變數提供了區域性的作用域和私有的執行環境 function 2 全域性匯入 定義在模組裡的變數都是區域性變數,因此在全域性命名空間中時無法訪問他們的,然而全域性變數仍...