【发布时间】:2011-08-09 16:55:09
【问题描述】:
我在 MVC 2 中遇到了一些模棱两可的操作方法的问题。我已经尝试实施此处找到的解决方案:ASP.NET MVC ambiguous action methods,但这只是给我一个“找不到资源”错误,因为它认为我'我试图调用我不想想要调用的操作方法。我使用的RequiredRequestValueAttribute 类与另一个问题的解决方案中的类完全相同:
public class RequireRequestValueAttribute : ActionMethodSelectorAttribute
{
public RequireRequestValueAttribute(string valueName)
{
ValueName = valueName;
}
public override bool IsValidForRequest(ControllerContext controllerContext, MethodInfo methodInfo)
{
return (controllerContext.HttpContext.Request[ValueName] != null);
}
public string ValueName { get; private set; }
}
我的操作方法是:
//
// GET: /Reviews/ShowReview/ID
[RequireRequestValue("id")]
public ActionResult ShowReview(int id)
{
var game = _gameRepository.GetGame(id);
return View(game);
}
//
// GET: /Reviews/ShowReview/Title
[RequireRequestValue("title")]
public ActionResult ShowReview(string title)
{
var game = _gameRepository.GetGame(title);
return View(game);
}
现在,我正在尝试使用 int id 版本,而不是调用 string title 版本。
【问题讨论】:
标签: asp.net-mvc-2 ambiguous actionmethod