2011-06-16 98 views
1

我有兩個型號:如何動態地添加文本框在MVC 3

public class Contact 
{ 
    public Guid ContactId { get; set; } 

    public string FirstName { get; set; } 

    public string LastName { get; set; } 

} 

public class Email 
{ 
    public Guid EmailId { get; set; } 

    [Required] 
    [DataType(DataType.EmailAddress)] 
    public string Name { get; set; } 

    public Guid ContactId { get; set; } 
} 

是否有可能與MvcScaffolding,自動生成視圖Contacts->與現場電子郵件動態文本框創建?
例如,在第一個文本框中輸入電子郵件時,則會創建另一個文本框等。

回答

2

在您的模型中,將電子郵件字段設置爲List。

如果您設置名稱如下,MVC模型粘結劑將自動填充在回發列表:

<input name="Emails[0]" type="text" /> 
<input name="Emails[1]" type="text" /> 
<input name="Emails[2]" type="text" /> 

等等。我假設你正在使用jquery或類似的東西動態添加文本框,所以只需設置新的文本框名稱等於總數-1。如果你想讓用戶刪除任何一個文本框,將不得不回頭重新計算名稱和索引。