我在View中有一个强类型文本框,并且有一个ADD按钮。
用户在TextBox中输入说明并单击ADD。此说明已添加到列表中。
添加到列表后,我想清除此TextBox。
当我使用ModelState.Clear时,它清除了整个模型,包括List,因为它也是ViewModel的一部分。
当我使用客户端javascript函数时,文件框会在ADD功能完成之前被清除。
如何首先将值添加到列表中,然后使用javascript清除文本框?
使用我使用的jQuery清除:
<script type="text/javascript">
$("#AddButton").click(function() {
$("#textbox1").val("");
});
</script>
答案 0 :(得分:2)
接受模型财产的隐藏归档。
@Html.HiddenFor(x => x.prop)
并使用普通文本框
<input type="text" id="textbox1" />
现在点击添加时首先将值分配给隐藏文本框和
之后
<script type="text/javascript">
$("#AddButton").click(function() {
$("#prop").val($("#textbox1").val());
$("#textbox1").val("");
});
</script>
答案 1 :(得分:1)
这个JS函数只是清除你的字段,但不更新你的模型。您无法直接从JS更新MVC模型,因为它已在服务器端转换为纯HTML。从这一点来看,您有三种方法:
答案 2 :(得分:0)
无法在model
的MVC jQuery
中添加值。
但有一件事你可以做。
只需创建list
类型模型class
,然后在页面上添加控件
型号兼容名称。
之后,当您post
页面时,您将获得所有记录
list
。