2016-03-01 34 views
-1

I'm做Editing a variable length list, ASP.NET MVC 2-style教程,但我不能綁定我的ViewModel的值來我創建視圖BeginCollectionItem不能綁定部分值

型號:

public class WebPages 
{ 
    [Key] 
    public int WebPagesId { get; set; } 

    public String DomainName { get; set; } 

    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)] 
    public DateTime DomainStart { get; set; } 

    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)] 
    public DateTime DomainExp { get; set; } 
    public String DomainEmails { get; set; } 
    public String DomainUsers { get; set; } 
    public String DomainPasswords { get; set; } 

} 
} 

視圖模型:

public class WebPagesViewModel 
{ 
    [Key] 
    public int Id { get; set; } 
    public String DomainName { get; set; } 

    public class Domain 
    { 
     public String DomainEmails { get; set; } 
     public String DomainUsers { get; set; } 
     public String DomainPasswords { get; set; } 
    } 
    public List<Domain> Domains { get; set; } 
} 
} 

創建GetController

public ActionResult Create(WebPages model) 

    { 

    var ejemdata = new List<WebPagesViewModel.Domain> 
     { 
      new WebPagesViewModel.Domain 
      { 
       DomainEmails = "[email protected]", 
       DomainUsers = "Testuser", 
       DomainPasswords = "testpassword" 
      } 
     }; 

     var vm = new WebPagesViewModel 
     { 
      Clients = new SelectList(db.ClientsList, "ClientsId", "ClientsName"), 
      Domains = ejemdata 
     }; 


     return View(vm); 
    } 

創建視圖:

@foreach (var item in Model.Domains) 
     { 

      { Html.RenderPartial("_WebPagesPartial", item);} 

     } 

部分:

@using xxx.Models.ViewModels 
@model WebPagesViewModel.Domain 
@using HtmlHelpers.BeginCollectionItem 

<h2>Partial View</h2> 

<div> 
@using (Html.BeginCollectionItem("Domains")) 
{ 

     Html.EditorFor(x => x.DomainPasswords); 
     Html.EditorFor(x => x.DomainUsers); 
     Html.EditorFor(x => x.DomainEmails); 
} 

我用的斷點調試,並控制從我ejemdata得值,並將其傳遞給我的創建視圖到foreach

Receiving data in View photo

所以當頁面加載它只是從部分負荷下的標籤,但沒有顯示任何在BeginCollectionItem方法,我得到這個在HTML

HTML:

<input type="hidden" name="Domains.index" autocomplete="off" value="28f4e8e7-cde3-44fe-a739-b4c8acb15ec2"> 

回答

0

您使用的

Html.EditorFor(x => x.DomainPasswords); 

只是調用方法,但不會輸出結果。您需要將其更改爲

@Html.EditorFor(x => x.DomainPasswords) 

(同上,併爲其他2個HtmlHelpers)

+0

真的嗎?我無法相信,非常感謝 – Demain