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 回答