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因为您只能将一种类型的一个元素绑定到模型。

或者,您可以使用 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 回答