2017-06-08 5 views
1

Vanilla MVCプロジェクトをVanilla Umbracoプロジェクトに移行する際、私はいくつかの問題に直面しています。そのうちの1つは、クエリパラメータを使用してインデックスに転送することです。ActionResultのパラメータ

古いのActionResult MVCプロジェクト作業から:

public ActionResult Index(int value1, int value2, bool value3 = false) 
{...} 

新のActionResult、バニラUmbracoプロジェクトに

public override ActionResult Index(RenderModel model) 
{...} 

作業が、私は元のプロジェクトから(クエリ文字列から来る)のパラメータを必要とします。 私はそれらを追加するだけで試してみました:

public override ActionResult Index(RenderModel model, int value1, int value2, bool value3 = false) 
{...} 

をしかし、私は後者を行うとき、私は何をしないのですエラーに'Controller.Index(RenderModel, int, int, bool): no suitable method found to override'

を取得しますか?

答えて

0

これらの値をパラメータとして渡すことはできません。代わりにクエリ文字列からそれらを抽出する必要があります。

public override ActionResult Index(RenderModel model) 
{ 
    var value1 = Request["value1"]; 
    var value2 = Request["value2"]; 
    var value3 = Request["value3"]; 
    ... 
} 
+0

なぜですか? (バニラMVCプロジェクトで働いたとき) – brother

+0

DocTypeコントローラがumbracoにあると、それは通常のMVCコントローラとは異なる動作をするからです。 –

0

このエラーは、すべてのパラメータが必要なだけロードされているわけではありません。彼らがすべて値としてnullを受け入れるようにして、呼び出し中に何を得るかを確認してください。

public override ActionResult Index(RenderModel model, int? value1, int? value2, bool value3 = false) 
{...} 
関連する問題