我有这样的HTML:
HTML
<div class="col-md-3 col-sm-12">
<div>
<p>Región</p>
<select id="lstRegion" class="form-control agenda_space" aria-hidden="true"></select>
</div>
<div>
<p>Solicitud</p>
<select id="lstSolicitud" class="form-control agenda_space" aria-hidden="true"> </select>
</div>
<br/>
<div>
<a href="javascript:;" id="event_add" class="btn green"> Actualizar Filtro </a>
<br/>
</div>
JS:
$("#lstRegion")
.getJSONCatalog({
onSuccess: function (response) {
console.log(response);
},
url: '/Agenda/GetRegion',
valueProperty: "ID",
textProperty: "valor"
});
//Load solicitud dropdown
$("#lstSolicitud")
.getJSONCatalog({
url: '/Agenda/GetSolicitud',
valueProperty: "ID",
textProperty: "solicitud"
});
控制器:
public ActionResult GetRegion()
{
try
{
var listaRegistros = db.CatalogoRegistros.Where(x => x.CatalogosCodigo == "REGI").Select(x => new
{
x.ID
,
valor = x.Valor
});
return Json(listaRegistros, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
throw ex;
}
}
public ActionResult GetSolicitud()
{
try
{
var listasolicitud = db.Solicitudes.Select(x => new { x.ID, solicitud = "Folio: " + x.ID });
return Json(listasolicitud, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
throw ex;
}
}
他们工作得很好我得到了dropdwon列表,但现在我想在点击<a href="javascript:;" id="event_add" class="btn green"> Actualizar Filtro </a>
时对每个下拉列表的选定值执行GET操作。
但我在asp.net中真的很新,我不知道我需要做什么来获取选定的值并发送给控制器。
谷歌上搜索我发现我需要在我的控制器中使用方法来获取值:
控制器将是:
public ActionResult GetTareas(string lstRegionValue, string lstsolicitudValue)
{
}
但我不知道如何通过JS发送它们,我怎么能这样做才能将所选参数接收到我的控制器中?此致
更新 我尝试使用Ajax,如:
$.ajax({
type: 'GET',
url: '@Url.Action("Agenda", "GetTareas")',
data: { region: $('#lstRegion option:selected').html(), solicitud: $('#lstSolicitud option:selected').html() }, // pass the value to the id parameter
dataType: 'json',
success: function (data) {
console.log(data);
}});
但是如何在点击event_add
时触发该功能?
答案 0 :(得分:0)
要在点击时运行更新的ajax代码,请添加()
点击事件处理程序并在其中运行您的代码。
#event_add
答案 1 :(得分:0)
您好请尝试以下更新的代码:
$('#event_add').click(function(e){
var regionval = $('#lstRegion option:selected').html(),
var solicval = $('#lstSolicitud option:selected').html(),
$.ajax({
type: 'GET',
url: '@Url.Action("Agenda", "GetTareas", new { lstRegionValue = regionval, lstsolicitudValue =solicval})',
});
});
注意:我没有测试代码,但希望它适合你
控制器代码:
public ActionResult GetTareas(string lstRegionValue, string lstsolicitudValue)
{
}
希望它有所帮助,谢谢