2

I have problem with ActionResult Method overloading in MVC2

I have 3 methods

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);
}

How can i overload methods in Asp.Net MVC2? Thanks.

1 Answer 1

2

Short answer, you can't overload methods solely by variables.

Discussion on Stack

If you must have the same method names, you will need to create an actionfilter attribute and use that as your overload.

Snippet from above discussion:

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

[RequireRequestValue("someString")]
public ActionResult MyMethod(string someString) { /* ... */ }
Sign up to request clarification or add additional context in comments.

4 Comments

in which namespace is [RequireRequestValue()]
You have to create the action filter yourself and call it whatever you want. Re-read the question that I posted to and look @ how he solved his dilemma.
And can you vrite me filter example if i wana use Mymethod(string a, string b, string c) ?thanks
What have you tried so far to overload a method with mulitple parameters? I will help you debug your code, but not write it for you...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.