2013-05-07 35 views
0

我有一個奇怪的問題,我不知道這是否實際上是可能的。 我想要的是,能夠列出我的模型中的所有值,並在列表中直接編輯它們。「inline」編輯mvc 4對象列表

這是我有:

型號鏈接:

 public class StoreLinkerModel 
     { 
     //public Guid? id { get; set; } 
     public IEnumerable<Stores> StoresAndOpeninghours { get; set; } 
     } 

public class Stores 
    { 
    public long ID { get; set; } 
    public string StoreName { get; set; } 
    public string Address { get; set; } 
    public string Zip { get; set; } 
    public string City { get; set; } 
} 

我的控制器:

public ActionResult Overview() 
     { 

     var model = new StoreLinkerModel 
     { 
      StoresAndOpeninghours = new[] 
      { 
       new Stores() 
       { 
        ID = 0, 
        Address = "Enghavevej 70" 
       }, 
       new Stores() 
        { 
        ID=1, 
        Address = "Løngangsgade 30" 
        }, 
      } 

     }; 
     return View(model); 
     } 

     [HttpPost] 
     public ActionResult Overview(StoreLinkerModel model) 
     { 
     if (ModelState.IsValid) 
     { 
      var x = "go go go"; 

     } 


     return RedirectToAction("Overview"); 
     } 

我overview.aspx頁:

@model streetoffrs.web.Models.StoreLinkerModel 
@{ 
    ViewBag.Title = "Overview"; 
    Layout = "~/Views/Shared/_dashboard.cshtml"; 
} 

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

和我EditorTemplate店.aspx

@model streetoffrs.web.Models.Stores 

@using (Html.BeginForm("Overview", "Dashboard", FormMethod.Post, new { name = "id" + @Html.DisplayFor(m => m.ID) })) 
{ 


    @Html.EditorFor(x => x.Address) 
    <input type="submit" class="left btn btn-primary" value="Ret butiksdata"> 
} 
<br /> 

正在生成列表,因爲它應該,而當我打的第一個按鈕在第一editorfor將模型張貼到我控制器,但是當我把第二個按鈕,型號是空的,但第一個按鈕仍然有效!

這是可能的,如果是的話我錯過了什麼,如果沒有,告訴我怎麼做到這一點。

在此先感謝!

回答

0

你需要編輯後的行動是這樣的:

[HttpPost] 
    public ActionResult Overview(StoreLinkerModel model) 
    { 
    if (ModelState.IsValid) 
    { 
     var x = "go go go"; 

    } 


    return View(model); 
    } 

RedirectToAction將轉到第一個概述行動,所以你會丟失數據。

+0

這很有道理,但是由於我發佈了一個空模型,所以模型綁定肯定有問題,因此您的更改會得到一個空白頁面......對綁定有何建議? – 2013-05-08 07:32:15

+0

有一些錯誤。在「overview.aspx」模型是商店,但在概述後操作接收StoreLinkerModel,它必須爲空。 – 2013-05-09 09:04:02

+0

不正確,概覽頁面採用storelinkermodel和我的editortemplate,需要商店,因爲它是從storelinkermodel繼承的 – 2013-05-09 21:13:28