0

モデルはRatingSourceのIEnumerable

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

        public string Source { get; set; }

        public bool IsActive { get; set; }
    }

コードを表示:

@foreach (var ratingSource in Model)
 {
     <tr>
        <td>
            @Html.DisplayFor(modelItem => ratingSource.Source)  
        </td>
        <td>
             @Html.RadioButton("Active",ratingSource.Id,ratingSource.IsActive)
        </td>
     </tr>
 }

チェックボックスを提供するため、IsActiveにEditorForModelを使用しません。編集したデータをDBに保存するにはどうすればよいですか? 私はEntityFrameworkを使用しています。

4

1 に答える 1

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 オブジェクトをすばやく監視するだけで、それを取得できます。これがお役に立てば幸いです。

于 2013-05-18T06:15:06.813 に答える