[英]calling controller method using jquery but method not redirecting to its corresponding view
我有一个页面“ GetData.cshtml
”,我需要在其中填写一些文本框数据并发送到 controller 方法。 我正在使用 jquery 将数据发送到 controller 方法。
//GetData.cshtml
$(document).ready(function () {
$('#btn_sbmt_recommendation').click(function () {
$.post("/RegistrationModels/Registration_card",
{
firm_id: $('#id_reg_id').val(),
amount: $('#id_amount').val()
});
console.log("job done....");
});
})
在调试应用程序时,成功调用了controller方法。
public ActionResult Registration_card(string reg_id, string amount)
{
try
{
// code block
return View(updated_firm);
}
catch (Exception ex) { throw; }
}
根据我的要求,我想在Registration_card.cshtml
页面中显示数据,但它没有重定向到页面。 控制台消息console.log("job done....");
在 jquery 块中显示。 这意味着页面又回到了GetData.cshtml
。 是因为使用 jquery 调用 controller 方法吗? 如何通过 jquery 调用 controller 方法Registration_card
后 go 到页面Registration_card.cshtml
。
我也尝试了下面的代码,但它也不起作用。
public ActionResult Registration_card(string firm_id, string ward_calani_num, string amount)
{
try
{
// code block
return RedirectToAction("Registration_card", updated_firm);
}
catch (Exception ex) { throw; }
}
根据您的问题,您似乎想从GetData.cshtml
重定向/转到Registration_card.cshtm
,方法是从GetData.cshtml
获取一些数据到Registration_card
ActionMethod
,这实际上会显示Registration_card.cshtm
。
如果上述情况属实,那么您不需要 Ajax Post 请求,因为您的ActionMethod
是HttpGet
,因为您没有指定它是HttpPost
。 所以解决方法可能类似于下面的代码。
$(document).ready(function () {
$('#btn_sbmt_recommendation').click(function () {
var id_reg_id=$('#id_reg_id').val();
var id_amount=$('#id_amount').val();
location.href=`/RegistrationModels/Registration_card?reg_id=${id_reg_id}&amount=${id_amount}`;
//$.post("/RegistrationModels/Registration_card",
// {
// firm_id: $('#id_reg_id').val(),
// amount: $('#id_amount').val()
// });
//console.log("job done....");
});
})
如果要重定向页面,您应该使用 javascript 或 jquery,因为当您使用 jquery 时,Z594C103F2C6E04EC 重定向无效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.