如何在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%")]
属性给它们设置不同的名字来修饰这些函数。
如果你想保留单个动作名称,然后用两个参数a
和b
创建一个“Front-End”动作,然后在动作代码中检查b==null
。 如果b为空,则调用func(a)过载,否则调用func(a,b)。
上一篇: How to call overloaded C# function through JQuery in Asp.Net MVC 2