我正在使用asp.net MVC 4.有没有办法在具有相同名称但不同参数的动作上使用两个http get方法?或者只是让页面成为两者的索引页面的方式,这样页面的名称是一致的?此外,int不能为null。
示例:
用于查询字符串和搜索
[HttpGet]
public ActionResult Index(int num, string aString)
{
}
仅用于操作链接点击(默认搜索)
[HttpGet]
public ActionResult Index()
{
}
答案 0 :(得分:3)
没有解决方法。你可以做的是:
[HttpGet]
public ActionResult Index(int num, string aString)
{
//if num == null, throw exception or do something
// if string == null, do something, if not, do something else
}
答案 1 :(得分:0)
- (Html . BeginForm ( "ViewName", "ControllerName", FormMethod.Get ) {
Html . Hidden ( "actionname1", "true" ) form elements set 1 submit
button 1 }
(Html . BeginForm ( "ViewName", "ControllerName", FormMethod.Get ) {
Html . Hidden("actionname2", "true") form elements set 2 submit
button 2 }
In Controller, check for "true "values for actionname1, actionname2
and decide on control flow for each. Assumption: Same View and Same
Controller WITH Two distinct FormMethod.Gets
..Paurav
答案 2 :(得分:0)
我实际上最终做的是在一个获取http请求操作中传入一个具有可空值的对象。正如评论中上面提到的@Display名称,Microsoft已将此功能内置到.net框架中。