我遇到了DropDownList的问题,我将默认值设置为它,但是当我将它发送到我的控制器时为空。如果我手动更改DropDownList,则可以正常工作。
此函数创建一个新的DropDownList
function alternarDropDown(e) {
var data = [
{ text: "RESTRIÇÃO", value: "R" },
{ text: "PENALIZAÇÃO", value: "P" }
];
var dropdown = $("#IndiceRestricaoPenalizacao");
dropdown.kendoDropDownList({
dataSource: data,
dataTextField: "text",
dataValueField: "value",
height: 100,
change: onChange,
}).data("kendoDropDownList").select(1);
alert(dropdown[0].value);
if (dropdown[0].value != "R") {
var input = $("#VelocidadeRestricao");
input[0].setAttribute("disabled", "disabled");
}
}
警报显示正确的选定值。
在我的控制器中
public ActionResult CriarParamentrosAlarmeCBTC([DataSourceRequest] DataSourceRequest request, ParamentrosAlarmeCBTC alarme, int idAlarme)
{
try
{
if(TipoAlarmeBusiness.ValidarFaixaAlarmeCBTCJaExistente(alarme))
ModelState.AddModelError("", "A faixa inserida já está cadastrada!");
else
TipoAlarmeBusiness.CriarParametroAlarmeCBTC(alarme, idAlarme);
return Json(new[] { alarme }.ToDataSourceResult(request, ModelState));
}
catch (Exception ex)
{
ModelState.AddModelError("", ex.Message);
return Json(new[] { alarme }.ToDataSourceResult(request, ModelState));
}
}
当我使用默认值发送时, alarme.IndiceRestricaoPenalizacao
为空。
我认为.data("kendoDropDownList").select(1)
触发了所选内容,但它不起作用。那么如何触发默认选择值?
答案 0 :(得分:0)
试试这个:
...
var dropdown = $("#IndiceRestricaoPenalizacao");
dropdown.kendoDropDownList({
dataSource: data,
dataTextField: "text",
dataValueField: "value",
height: 100,
change: onChange
});
// set the dropdown value to your default value
$("#IndiceRestricaoPenalizacao").data('kendoDropDownList').value("R");
另一个选项是在HttpGet中设置值。 MVC会自动绑定它。