1

次のような 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 メソッドはフォームが投稿される場所とは別であるため、コントローラーで値を処理する方法がわかりません。

誰かアドバイスはありますか?

4

2 に答える 2

4

非表示の入力の値を設定する必要があります。

$('#carModelHidden').val(...);
于 2013-08-08T13:20:28.850 に答える
1

非表示の値はフォームの using ステートメントの間に必ず挿入してください。また、厳密に型指定されたビューを使用して、モデル内のプロパティにバインドします。

@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>
}
于 2013-08-08T13:44:54.613 に答える