Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 如何在Asp.Net MVC2中重载ActionResult_Asp.net Mvc 2_C# 4.0 - Fatal编程技术网

Asp.net mvc 2 如何在Asp.Net MVC2中重载ActionResult

Asp.net mvc 2 如何在Asp.Net MVC2中重载ActionResult,asp.net-mvc-2,c#-4.0,Asp.net Mvc 2,C# 4.0,我对MVC2中的ActionResult方法重载有问题 我有三种方法 public ActionResult MyMethod() { var data = ........ //some unfiltered data from db return view(data); } public ActionResult MyMethod(string name) { var data = ....... Where xxx.StartsWi

我对MVC2中的ActionResult方法重载有问题

我有三种方法

public ActionResult MyMethod()
{  
   var data = ........
   //some unfiltered data from db
   return view(data);
}

public ActionResult MyMethod(string name)
{
   var data = .......
              Where xxx.StartsWith(name)
   //some filtered data by name
   return View(data);
}

public ActionResult MyMethod(int age)
{
   var data = .......
              Where xxx.Equals(age)
   //some filtered data by age
   return View(data);
}
如何在Asp.NETMVC2中重载方法?
谢谢。

简短的回答,您不能仅通过变量重载方法

如果必须具有相同的方法名称,则需要创建actionfilter属性并将其用作重载

以上讨论的片段:

[RequireRequestValue("someInt")]
public ActionResult MyMethod(int someInt) { /* ... */ }

[RequireRequestValue("someString")]
public ActionResult MyMethod(string someString) { /* ... */ }

在名称空间为[RequireRequestValue()]的情况下,您必须自己创建操作筛选器,并根据需要调用它。重新阅读我贴到的问题,看看@他是如何解决他的困境的。如果我想使用Mymethod(字符串a、字符串b、字符串c),你能给我举个过滤的例子吗?谢谢。到目前为止,你有没有尝试过用多个参数重载一个方法?我会帮你调试代码,但不会帮你写。。。