0

すべてのアクションメソッドに同じコードが含まれているコントローラーがあります。

[ActionName("pretty-url")]
public ActionResult Something() {
  return PartialView();
}    

[ActionName("another-pretty-url")]
public ActionResult SomethingElse() {
  return PartialView();
}

部分ビューにこのpretty-url.cshtml形式で名前を付けます。これらはうまくピックアップされ、すべてが機能します。

コントローラ内のすべてのアクションは常にまったく同じことを行い、同じことを返すので、明示的に実装しなくても、コントローラに正しい名前のビューを探して上記のように返すようにします。

どうすればいいですか?

TIA

4

2 に答える 2

0

単一のアクションを作成し、ビュー名をパラメーターとして渡します。

public ActionResult Something(string viewName) 
{
  return PartialView(viewName);
}
于 2012-11-26T11:17:23.457 に答える
0

文字列パラメーターを使用してコントローラーに新しいメソッドを追加し、それを使用して正しい部分ビューをロードします。

public ActionResult Show(string PartialName)
{
    return PartialView(PartialName);
}

これで、を使用する代わりにを使用http://your.domain/pretty_urlする必要がありますhttp://your.domain/show/pretty_urlが、これは後で追加する新しい部分ビューで機能します。

于 2012-11-26T11:27:38.957 に答える