2013-05-17 81 views
0

編輯操作的模型是IEnumerable的RatingSource與單選按鈕

public class RatingSource 
    { 
     public int Id { get; set; } 

     public string Source { get; set; } 

     public bool IsActive { get; set; } 
    } 

查看代碼:

我不使用EditorForModel爲IsActive,因爲它給複選框。 如何將編輯的數據保存到數據庫? 我使用EntityFramework。

回答

0

這是我如何能夠取出來的選擇RatingSource

控制器代碼:

public ViewResult SaveInfo() 
    {    
     return View(lstRatingSources); 
    } 

    [HttpPost] 
    public ViewResult SaveInfo() 
    { 
     var formValue = Request.Form["Active"]; 
     int Id = Convert.ToInt32(formValue); 
     RatingSource selectedRatingResource = 
        lstRatingSources.FirstOrDefault(p => p.Id == Id); 
     return View("AcknowledgementView"); 
    } 

查看代碼:

@using (Html.BeginForm()) 
{ 
<table> 
@foreach (var ratingSource in Model) 
{ 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => ratingSource.Source) 
     </td> 
     <td> 
      @Html.RadioButton("Active", ratingSource.Id, ratingSource.IsSelected) 
     </td> 
    </tr> 
} 
<tr><td><input type="submit" value="Save Info" /></td><td></td></tr> 
</table> 
} 

請不要問爲什麼我使用Request.Form["Active"],這是凌晨2點,我沒有去尋找細節。只需通過快速查看Request.Form對象即可。希望這可以幫助你。

+0

什麼是lstRatingSources?我得到一個錯誤:2個具有相同名稱和參數的動作。 – Stalli

+0

接下來我需要用selectedRatingResource做什麼? – Stalli

+0

lstRatingSources是您的IEnumerable集合RatingSource。我拿了一張List <>。現在你可以將selectedRatingResource傳遞給你的EF並保存。 – Guanxi