asp.net-mvc – 路由到具有相同名称但不同参数的操作
发布时间:2020-05-23 16:27:25 所属栏目:asp.Net 来源:互联网
导读:我有这套路线: routes.MapRoute( IssueType, issue/{type}, new { controller = Issue, action = Index } ); routes.MapRoute( Default, //
|
我有这套路线: routes.MapRoute(
"IssueType","issue/{type}",new { controller = "Issue",action = "Index" }
);
routes.MapRoute(
"Default",// Route name
"{controller}/{action}/{id}",// URL with parameters
new { controller = "Home",action = "Index",id = UrlParameter.Optional } // Parameter defaults
);
这是控制器类: public class IssueController : Controller
{
public ActionResult Index()
{
// todo: redirect to concrete type
return View();
}
public ActionResult Index(string type)
{
return View();
}
}
为什么,当我请求http://host/issue我得到当前请求的操作’索引’在控制器类型’IssueController’是以下动作方法之间是不明确的: 我在哪里犯错? UPD:可能重复:Can you overload controller methods in ASP.NET MVC? UPD 2:由于上面的链接 – 没有任何合法的方式来采取行动超载,是吗? UPD 3:根据参数(c)http://msdn.microsoft.com/en-us/library/system.web.mvc.controller%28VS.100%29.aspx,操作方法不能重载 解决方法我将有一个Index方法来查找一个有效的类型变量public class IssueController : Controller
{
public ActionResult Index(string type)
{
if(string.isNullOrEmpty(type)){
return View("viewWithOutType");}
else{
return View("viewWithType");}
}
}
编辑: 如何创建一个查找特定请求值的自定义属性,如本帖子StackOverflow所示 [RequireRequestValue("someInt")]
public ActionResult MyMethod(int someInt) { /* ... */ }
[RequireRequestValue("someString")]
public ActionResult MyMethod(string someString) { /* ... */ }
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; }
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-ajax – UpdateProgress链接到多个UpdatePanel控件
- ASP.NET MVC AJAX Sys是未定义的错误
- asp.net-core – 如何将IHttpContextAccessor注入到Autofac
- asp.net-mvc – MVC动作过滤器集合已修改;枚举操作可能无法
- asp.net中ScriptManager和ScriptManagerProxy之间的区别
- asp.net – Razor 3有什么新功能?
- asp.net-core – 重新挑战ASP.NET Core中经过身份验证的用户
- 如何在ASP.Net Web API中为特定控制器启用Windows身份验证
- asp.net-web-api – asp.net webapi 2属性路由不工作
- asp.net – 标签中的换行符
推荐文章
站长推荐
- asp.net-mvc – 使用mvc的主要目的
- asp.net-mvc – 从部分视图添加html头标记的脚本
- 什么是部署ASP.Net Web应用程序的好方法?
- asp.net-mvc – ELMAH – 使用自定义错误页面收集
- asp.net – 在Web.config帮助中定义tagPrefixes
- jqgrid与asp.net webmethod和json使用排序,分页,
- asp.net-mvc – 在实体框架代码中为同一表定义多
- asp.net-mvc – MVC发布复杂对象的列表
- 如何在ASP.NET 4.0应用程序的IIS管理器中添加用户
- asp.net – 转换为VS 2015.1中的Web应用程序
热点阅读
