使用div值填充@ Html.Hidden

时间:2013-08-08 13:19:05

标签: c# jquery html asp.net-mvc

假设我有这样的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方法将与表单发布的位置分开。

有人有什么建议吗?

2 个答案:

答案 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>
}