我想從客戶端調用方法,我的控制器方法具有[ActionName]屬性。但是這個名稱已經有了相同的動作方法,但是我需要通過ajax調用來調用MyMethod()方法。這可能沒有創建任何新方法或對MyMethod()的屬性進行任何更改。如何從客戶端調用具有actionname屬性的方法
這裏是控制器代碼:
public ActionResult PaymentMethod()
{
// Some logic
}
[ValidateInput(false)]
[HttpPost, ActionName("Paymentmethod")]
[FormValueRequired("applydiscountcouponcode")]
public ActionResult MyMethod(string dd, FormCollection ff)
{
// Rest of logic
}
Javacript代碼:
function ApplyDiscountCode() {
debugger
$.ajax({
type:"POST",
url: "/controllername/Paymentmethod", // call method
data: { dd: $("#inpCode").val(), ff: null },
success: function (data) {
debugger
alert(data);
}
});
}
這是行不通的,因爲它是隻調用第一個方法。
@DarshakGajjar它是如何與你提供的鏈接重複? – Mairaj
如果另一個不是'HttpPost',你可以這樣調用。您不能使用同一控制器中已存在的相同操作名稱。 – ViVi
我想應該從請求類型和數據中推斷出正確的控制器方法。所以我認爲你的問題不在於操作名稱,但是數據不會被正確發送或處理。例如,您應該在服務器端調試「HttpRequest.RouteData」中的內容。 –