控制器和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 全域性匯入 定義在模組裡的變數都是區域性變數,因此在全域性命名空間中時無法訪問他們的,然而全域性變數仍...