2

我正在使用 asp.net MVC 4。有没有办法在同名但参数不同的操作上使用两个 http get 方法?或者只是一种让页面成为两者的索引页面的方法,所以页面的名称是一致的?此外,int 不能为空。

例子:

用于查询字符串和搜索

   [HttpGet]
    public ActionResult Index(int num, string aString)
   {
   } 

仅用于操作链接单击(默认搜索)

 [HttpGet]
  public ActionResult Index()
 {
 } 
4

3 回答 3

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
} 
于 2013-03-08T18:41:34.813 回答
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
于 2013-06-24T22:01:11.257 回答
0

我实际上最终做的是在一次获取 http 请求操作中传入一个具有可为空值的对象。正如上面评论中的@Display Name 所建议的那样,Microsoft 已将此功能内置到 .net 框架中。

于 2013-06-25T01:58:29.300 回答