[英]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.