Tengo una página " GetData.cshtml " donde necesito completar algunos datos del cuadro de texto y enviarlos al método del controlador. Estoy usando jquery para enviar datos al método del controlador.
//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...."); }); })Mientras se depura la aplicación, el método del controlador se llama con éxito.
public ActionResult Registration_card(string reg_id, string amount) { try { // code block return View(updated_firm); } catch (Exception ex) { throw; } } Como mi requisito, quiero mostrar los datos en la página Registration_card.cshtml , pero no está redirigiendo a la página. El mensaje de la console.log("job done...."); en el bloque jquery se muestra. Significa que la página vuelve a GetData.cshtml . ¿Se debe al uso de jquery para llamar al método del controlador? ¿Cómo puedo ir a la página Registration_card.cshtml después de llamar al método del controlador Registration_card a través de jquery?
También probé con el siguiente código, pero tampoco funciona.
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; } }De acuerdo con su pregunta, parece que desea redirigir/ir a Registration_card.cshtm desde GetData.cshtml tomando algunos datos de GetData.cshtml a Registration_card ActionMethod que en realidad mostrará Registration_card.cshtm .
Si el escenario anterior es cierto, entonces no necesita solicitar Ajax Post ya que su ActionMethod es HttpGet ya que no especifica que es como HttpPost . Entonces, la solución puede ser algo como el siguiente código.
$(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...."); }); })Si desea redirigir la página, debe usar javascript o jquery porque cuando usa jquery, el controlador no funciona para la redirección.