假设我有这样的div:
<div id ="carmodel"></div>
这个div在页面加载后5秒使用Javascript填充,所以它看起来像这样:
<div id ="carmodel">Audi A4</div>
现在我需要在提交表单时将“Carmodel”div内的文本发送给控制器。
@using (Html.BeginForm("Method", "Controller"))
{
@Html.TextBox("textbox1", "")
@Html.TextBox("textbox2", "")
<input type="submit" value="Subtmit"/>
}
我想过使用隐藏字段并将其一起发布,但我不知道如何使用“Carmodel”div中的文本填充隐藏字段:
@Html.Hidden("carmodelhiden", "");
好像我需要使用JQuery来检索这样的文本:
var value = $("#carmodel").text();
但是我如何将其发送给控制器?
我还考虑过使用.ajax发布它但不确定如何在控制器中处理控制器中的值,因为控制器中的ajax方法将与表单发布的位置分开。
有人有什么建议吗?
答案 0 :(得分:4)
您需要设置隐藏输入的值:
$('#carModelHidden').val(...);
答案 1 :(得分:1)
确保将隐藏值放在表单using statement之间。此外,使用强类型视图与模型中的属性绑定。
@using (Html.BeginForm("Method", "Controller"))
{
<div id ="carmodel">
@Html.HiddenFor(model => model.SomeProperty)
</div>
}
@section scripts{
<script>
// Hook into some event and set:
$('#carModelHidden').val(...);
</script>
}