Asp.net MVC – Controller

1976 ワード

1.現在のルート情報をControllerで取得する


例えば現在のコントロール情報を取得し、
RouteData.Values["controller"]
キーはRouteが一致するパラメータです
 

2.Actionの戻り値におけるActionResultの種類


Controllerで返されるアクションResultの種類
を選択します.
説明する
戻り方法
ContentResult
文字列を返す
Content
EmptyResult
No Response
 
FileContentResult FilePathResult FileStreamResult
ファイルを返す
File
HttpUnauthorizedResult
戻り値403
 
HttpNotFoundResult
戻る404
 
JavaScriptResult
jsのセグメントを返す
JavaScript
JosnResult
JSON形式データ
Json
RedirectResult
期限切れのURLをジャンプ
Redirect
RedirectToRouteResult
他のアクション、または他のコントローラのアクションに移動します.
RedirectToRoute RedirectToAction
ViewResult PartialViewResult
Viewengineによる処理を返す
View PartialView
 
 
 
 
 
 
 
 
 
 
 
 
 
Actionメソッドの戻り値をstringに直接変更し、文字列を返すこともできます.
 
 

3.どのようにしてViewに値を伝えますか?


ViewBag、ViewDataの使用


ViewBagはdynamicタイプで、必要なデータを任意に拡張して保存できます.

Modelの使用


return View(model)は、modelを強いタイプのViewの表示主体とすることができる.
 

4.Filterを使用してActionへのアクセスを制御する


asp.NetMVCにはActionへのアクセスに影響を与える多くのFilterがあり、これらのFilterもAttributeであり、ActionやControllerの頭に直接書くことができます.
 

システムFilter


名前
説明
OutputCache
キャッシュ
ValidateInput
検証を閉じる
Authorize
アクセス権の検証
ValidateAntiForgeryToken
クロスステーション攻撃の防止
HandleError
ハンドラ異常
 

 


 
 
 

Filterの使用場所


*アクションまたはコントローラの頭に直接書くことができます.
*グローバルに登録
アプリケーション_Start()には、各requestがこれらのFiterlの影響を受けるようにFilterを登録します.
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

 

カスタムFilterの作成


クラス継承ActionFilterAttributeを記述し、OnActionExecutingなどのメソッドを上書きします.
 
Filterはログや権限検証などに便利です.