如果我有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时,我只得到第一个文本框值。
答案 0 :(得分: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
}
答案 1 :(得分:-2)
Javascript hack:
<script type="text/javascript">
$('#formID').submit(function() {
$('#PhoneNumber1').val($('#PhoneNumber1').val() + ', ' + $('#PhoneNumber2').val() + ', ' + $('#PhoneNumber2').val());
});
</script>