如何在Asp.Net MVC 2中通过JQuery调用重载的C#函数

我在通过jquery post方法调用重载的C#函数时遇到问题。

我在c#中有两个函数

string func(string a)
string func(string a, string b)

现在,当我调用这样的jQuery中有一个参数的函数

var url = '<%= Url.Action("func", "Team") %>';                
$.post(url, { a: "test" }, function (data) {
});

它给了我这个错误

The current request for action 'func' on controller type 'TeamController' is 
ambiguous between the following action methods

我想知道如何调用这些重载函数。 即时通讯使用Asp.Net MVC 2与C#


ASP.NET MVC通常不允许动作重载。 如果你想根据你发送给服务器的内容做不同的事情,那么你应该考虑在两个具有不同名称的函数(显然不同的动作名称和不同的URL)之间分离处理。 如果你想在代码中保持重载,那么你仍然应该用[ActionName("%some_name_here%")]属性给它们设置不同的名字来修饰这些函数。

如果你想保留单个动作名称,然后用两个参数ab创建一个“Front-End”动作,然后在动作代码中检查b==null 。 如果b为空,则调用func(a)过载,否则调用func(a,b)。

链接地址: http://www.djcxy.com/p/51995.html

上一篇: How to call overloaded C# function through JQuery in Asp.Net MVC 2

下一篇: method and function overloads in javascript and jquery