C# 如何使用ajax调用MVC部分视图中的按钮单击操作方法?
我是MVC新手。我遇到了一种情况,需要在单击按钮时将参数从视图传递到控制器(按钮处于部分视图),然后在同一页面中呈现另一个部分视图 以下步骤:C# 如何使用ajax调用MVC部分视图中的按钮单击操作方法?,c#,jquery,ajax,asp.net-mvc,asp.net-mvc-4,C#,Jquery,Ajax,Asp.net Mvc,Asp.net Mvc 4,我是MVC新手。我遇到了一种情况,需要在单击按钮时将参数从视图传递到控制器(按钮处于部分视图),然后在同一页面中呈现另一个部分视图 以下步骤: 我使用jquery按钮单击事件作为部分视图的按钮 我进行了一个ajax调用,将参数从视图传递给控制器 以下是我的代码: $(document).on("click", "#btninPartialView", function(e){ var data = $("txtinPartialView").val(); $("#mainPage
$(document).on("click", "#btninPartialView", function(e){
var data = $("txtinPartialView").val();
$("#mainPageContainer").load("/Controller/Action", data, function(){
$.ajax({
//url: @Url.Action("Action", "Controller"),
type: GET,
data: {
id: data
},
success: function(){
}
error: function(){
}
})
}
})
问题:
问题是,我在action方法中收到的数据是null
如果我遗漏了什么,请告诉我
提前感谢。请检查您的操作方法接受的参数 例如,如果签名是
public ActionResult Action1(string name)
然后,您需要将数据作为
var data = { name : $("txtinPartialView").val() }
这应该是可行的。问题是您将jquery ajax和load函数混合在一起,load函数在后台发送ajax调用,因此您需要使用其中一个,而不是两个,所以请尝试如下操作:
$(document).on("click", "#btninPartialView", function(e){
$.ajax({
url: '@Url.Action("Action", "Controller")',
type: GET,
data: {
id: $("txtinPartialView").val()
},
success: function(response){
$("#mainPageContainer").html(response);
},
error: function(){
}
});
});
请提供控制器的方法代码。单击按钮后,请使用chrome开发者工具控制台选项卡进行检查,如果没有,请检查是否有错误。如果ajax调用成功,请检查网络选项卡。。如果不成功,请告诉我错误。为什么同时使用load和ajax callYes,它是相同的签名。我使用的签名如下:public ActionResult Action(string id){}当我使用@Url.Action时,它对我不起作用,但Url:“/controller/Action”工作得很好。谢谢你们。。
$(document).on("click", "#btninPartialView", function(e){
$.ajax({
url: '@Url.Action("Action", "Controller")',
type: GET,
data: {
id: $("txtinPartialView").val()
},
success: function(response){
$("#mainPageContainer").html(response);
},
error: function(){
}
});
});