0

一緒に追加する必要がある 3 つのフィールドに 3 つのテキスト ボックスがある場合、どのようにこれを行いますか?

例えば:

@Html.TextBoxFor(model => model.PhoneNumber, new { @id = "PhoneNumber1"})
@Html.TextBoxFor(model => model.PhoneNumber, new { @id = "PhoneNumber2"})
@Html.TextBoxFor(model => model.PhoneNumber, new { @id = "PhoneNumber3"})

しかし、コントローラーで model.PhoneNumber を呼び出すと、最初のテキスト ボックスの値しか取得できません。

4

2 に答える 2

3

phoneNumber1, phoneNumber2, phoneNumber3モデルには 1 つのタイプの 1 つの要素しかバインドできないため、モデルには複数の電話番号が必要になります。

または、 FormCollection を使用できます

モデル バインディングの代わりに標準インポートを使用する

<input type="text" value="" name="phoneNumber" id="phoneNumber1" />
<input type="text" value="" name="phoneNumber" id="phoneNumber2" />
<input type="text" value="" name="phoneNumber" id="phoneNumber3" />

次に、コントローラーで

[HttpPost]
public ActionResult Index(MyModel model, FormCollection frm){

//get elements from form
String[] numbers = frm["phoneNumber"].Split(',');

// you will have your 3 numbers


}
于 2012-12-04T15:16:34.217 に答える
-2

Javascript ハック:

<script type="text/javascript">

$('#formID').submit(function() {
    $('#PhoneNumber1').val($('#PhoneNumber1').val() + ', ' + $('#PhoneNumber2').val() + ', ' + $('#PhoneNumber2').val());
});

</script>
于 2012-12-04T15:11:48.630 に答える