我有一个页面"GetData.cshtml
",我需要在其中填写一些文本框数据并发送到控制器方法。我正在使用jquery将数据发送到控制器方法。
//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....");
});
})
调试应用时,控制器方法调用成功。
public ActionResult Registration_card(string reg_id, string amount)
{
try
{
// code block
return View(updated_firm);
}
catch (Exception ex) { throw; }
}
根据我的要求,我想在页面中显示数据Registration_card.cshtml
但它不会重定向到页面。 将显示 jquery 块中console.log("job done....");
的控制台消息。这意味着页面再次返回到GetData.cshtml
。是由于使用jquery调用控制器方法吗? 通过 jquery 调用控制器方法Registration_card
后如何转到第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
的Registration_card
ActionMethod
来重定向/转到GetData.cshtml
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 时,控制器无法进行重定向。