2012-10-17 98 views
0

Ola ..我在編輯表中的幾個模型時遇到了問題。我的模型頁面(用foreach)的列表,像內聯模型編輯器MVC3

<table id="grid-table" > 

@foreach (var image in ViewBag.Images) 
{ 
    <tr> 

     <td > 
      <a href="@Url.Action("ShowFullImage", new { id = @image.ID })" rel="lightbox[roadtrip]" title="@image.Description" > 
       <img src="@Url.Action("ShowImageThumbneil", new { id = @image.ID })" alt="@image.AlternateText" /> 
      </a> 
     </td> 

     <td > 
      @using (Html.BeginForm("SaveImageInfo", "Admin", FormMethod.Post)) 
      { 
       @Html.TextAreaFor(m => m.Description) <br /> 
       @Html.TextBoxFor(m => m.AlternateText) <br /> 
       @Html.LabelFor(m => m.ID) 

       <div id="item-post" > 
        <input title="Подтвердить" type="submit" value="Подтвердить" /> 
       </div> 
      } 
     </td> 

    </tr> 
} 

,我希望有一種方式來編輯一個模型項目。在控制器我有這樣的事情:

[HttpPost] 
    public ActionResult SaveImageInfo(ImageModel imageModel) 
    { 
     Image img = _core.GetImageByID(_client, imageModel.ID); 
     img.AlternateText = imageModel.AlternateText; 
     img.Description = imageModel.Description; 

     _core.SaveImageInfo(_client, img); 
     return View(); 
    } 

但是,當然,這不是工作.. 有人可以幫助我嗎?

回答

3

變化@Html.LabelFor(m => m.ID)@Html.HiddenFor(m => m.ID)。標籤的內容不會隨POST一起發送,但隱藏字段的內容是..

+0

這裏還有一個問題。在這個模型中,我有圖像字段(Guid)ID和圖庫ID,該圖像包含(圖庫ID,Guid)。當我按下「提交」按鈕,在imageModel公共ActionResult SaveImageInfo(ImageModel imageModel)我看到GalleryID作爲ID和Guid.Emty作爲GalleryID ... –

+0

你有一些命名問題。 ImageModel的屬性名稱必須與您的

中的「name」屬性相同才能正確連接。因爲我不知道你的代碼目前的樣子,所以我不能比這更具體。 –

0

我猜了一下,因爲我不知道你所看到的到底是什麼問題呢,但如果是用它做嘗試重定向,以下保存,然後嘗試更改:

Html.BeginForm 

Ajax.BeginForm