簡體   English   中英

如何在Asp.Net MVC 2中通過JQuery調用重載的C#函數

[英]How to call overloaded C# function through JQuery in Asp.Net MVC 2

我通過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

我想知道如何調用這些重載函數。 我用C#使用Asp.Net MVC 2

ASP.NET MVC通常不允許動作重載。 如果你想根據你發送給服務器的內容做不同的事情,那么你應該考慮在兩個具有不同名稱的功能之間分別處理(顯然不同的動作名稱和不同的URL)。 如果你想在代碼中保持重載,那么你仍然應該用[ActionName("%some_name_here%")]屬性來裝飾這些函數,為它們賦予不同的名稱。

如果要保留單個操作名稱,則創建一個帶有兩個參數ab的“前端”操作,並在操作代碼中檢查b==null 如果b為null,則調用func(a)重載,否則調用func(a,b)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM