es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Enviar valor desde la vista al controlador ActionResult

Estoy intentando pasar el valor del elemento < li > de una vista parcial a un ActionResult en el controlador y actualizar otra vista parcial con el resultado filtrado en base al valor elegido del < li >.

Mi problema es que actualmente no puedo pasar el valor al controlador.

Este es mi código en la primera vista desde la cual quiero establecer el filtro:

@if (MainFaqCategories != null && MainFaqCategories != null && MainFaqCategories.Count != 0) {

    @foreach (var mainType in MainFaqCategories)
    {

  • @mainType.Descr
  • }

}

Este es mi código Ajax:

var lang = $(“html”).attr(“lang”);
function getChosenCategory(selectedCategory) {
console.log(selectedCategory);
var url = ‘@Url.Action(“GetChosenFaqSubCategory”)’;
$.ajax({
url: url,
type: ‘POST’,
async: true,
data: { TypeCode: selectedCategory},
});
}

Este es mi código en el controlador:

[HttpPost]
public ActionResult GetChosenFaqSubCategory(string TypeCode)
{
string pFilter = “WebFaqCategoryCd=” + TypeCode;
int maxnr = Convert.ToInt32(MaxNbrFaq);

List<ArticleFAQ> subCategories = ServiceWrapper.GetWebFaq(pCoCd, language, loginId, pFilter, out maxnr, out errorText);

return PartialView("GlobalFAQ", subCategories);

}

Como error, tengo en la consola:
POST – http://localhost:4361/en/FAQ/GetChosenFaqSubCategory – 404 (No encontrado)

Cuando elimino la parte del idioma, otro controlador está arrojando error porque el sitio tiene varios idiomas y lo necesito.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que la URL para la acción del controlador no se está generando correctamente. Puede intentar depurar el código verificando el valor de la variable url en el código Ajax para asegurarse de que sea la URL correcta.

    Además, asegúrese de que la acción del controlador esté decorada con el atributo [HttpPost] ya que está utilizando una solicitud POST en el código Ajax.

    Otra posibilidad es que la configuración de enrutamiento no esté configurada correctamente para la acción del controlador. Puede verificar la configuración de enrutamiento en el archivo RouteConfig.cs en la carpeta App_Start para asegurarse de que la URL de la acción del controlador esté mapeada correctamente.

    Finalmente, también es posible que el problema esté relacionado con la parte del idioma de la URL. En ese caso, puede intentar pasar el valor del idioma como un parámetro de ruta o un parámetro de cadena de consulta para asegurarse de que se llame a la acción del controlador correcta.

Comments are closed.