asp.net mvc2 可以有两个相同的action。但参数不一样.controller怎样调用

我有userController里面有一个Index()和Index(string id)这个两个action。。那我在。redirectToAction该怎样调用。及Routes应该怎样配置

redirectToAction会发回浏览器,让浏览器以GET方式请求,
如果Index(string id)是以post方式来接收数据,可以加个[HttpPost]:
[HttpPost]
public ActionResult Index(string id)
{
}
我建议你就用一个Action,然后在Action内部判断id是否有值。
还有一种稍微复杂的方法,就是做一个ActionMethodSelector,也可以参考HttpPostAttribute的实现。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-05
这俩好像不能同时存在吧?因为string是可以为空的, index()跟index(int id)才能共存吧。
想区分控制器有两个办法,一个是通过[HttpPost]跟[HttpGet]特性将GET跟POST请求分开。
另一个是通过[ActionName("名称")]特性直接标记方法应该对应的控制器。

第二种情况下,方法名可以不同于实际要调用的ActionName名。
第2个回答  2011-11-04
action 不能这样重载,只能是提交方式重载 get or post
相似回答