当我以编程方式设置TextBoxFor的值时,它将作为null发布到控制器

时间:2013-09-18 08:33:16

标签: javascript asp.net-mvc

我在表单窗口打开之前在javascript中设置TextBoxFor的值。如果用户编辑文本框值,则会正确地将其发布到控制器。但是如果用户没有编辑文本框,则在将设置值发布到控制器之前为null。

有没有人有同样的问题?我试图解决这个问题好几天但不能。请帮助别人

以下是问题文本框

 @(Html.TextBoxFor(x=>x.KontenjanSayisi,"KontenjanSayisi",new { style = "width: 200px"}))

这是我的网格数据源。创建函数 GridDonemKursSinifi

时出现问题
.DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("GridDonemKursSinifi", "Tanim").Data("data"))
        .Create(create => create.Action("DonemKursSinifiOlustur", "Tanim").Data("dataCreate"))
        .Update(update => update.Action("DonemKursSinifiGuncelle", "Tanim"))
        .Destroy(destroy => destroy.Action("DonemKursSinifiSil", "Tanim"))
        .PageSize(20)
        .Model(model => model.Id(p => p.Id))
     )

这是我的脚本函数,它设置了textboxfor的值。看起来kontenjan的价值是正确的。 kontenjan值没问题

 $("#KontenjanSayisi").val(kontenjan);

这是我的控制器功能,如果没有修改,KontenjanSayisi会被发布

 public JsonResult DonemKursSinifiOlustur([DataSourceRequest] DataSourceRequest request, string KontenjanSayisi)
    {//function}
顺便说一句,我不想​​写所有的代码,因为思考问题会很难理解。如果你需要什么,你可以问我可以编辑

谢谢

1 个答案:

答案 0 :(得分:2)

如上所述here

$("#KontenjanSayisi").val(kontenjan).change();