我的模型很简单,一个客户可以有多个电话号码:MVC“创建视图”时,有一个模型
我在实体框架所代表的本
生成的客户端类如下。
public partial class Client
{
public Client()
{
this.PhoneNumbers = new HashSet<PhoneNumber>();
}
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<PhoneNumber> PhoneNumbers { get; set; }
}
现在我需要为“创建客户端”创建一个视图页面。此页面应该有空间,也进入PHONENUMBERS(例如:默认情况下,应该有两个文本框输入电话号码)
<fieldset>
<legend>Client</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
如上述的“创建视图”我们可以很容易地给出“model.Name的空间“,因为它是一个简单的属性。但我怎么能做一些类似的电话号码集合..?
我知道我们可以用丑陋的javascript代码实现这一点,但我想知道最好的简单方法,我们可以使用ASP.NET MVC ...?
这个解决方案给我带来了这样做的更好的方法。直到现在,我还不知道“查看模型”。非常感谢您提出这个解决方案。 –
如果电话号码的数量不受限制? – chris
@chris您可以为1个电话号码创建视图模型,然后为其创建编辑器模板。然后,通过使用一些js,动态地将编辑器模板添加到页面中,并将集合发布到控制器。 – SOfanatic