1

私はwomen、db コンテキストの一部であるモデルと、アイテムwomenEditmodelのリストを含むビュー モデルを持っていwomenます。partialviewこのリストをループして、ビューに編集可能なグリッドまたはリストを表示するためにa を使用しています。これらは私のモデルです:

public class Women
{
    public string ID { get; set; }
    public string FirstName {get; set;}
    public string LastName {get; set;}
}

public class WomenEditModel
{
    public List<Women> WomenList { get; set; }
}

women私のビューには、レコードのビュー行に挿入するためのこのループがあります

@foreach (Women women in Model.Womens)
{
    Html.RenderPartial("WomenEditor", women);
}

を使用して表示しますtable。そのため、ユーザーはリストを編集し、変更を投稿または保存できます。

私のパーシャルビューは次のようになります:

@model XXX.Models.Women

@using (Html.BeginCollectionItem("Women")) {                
    <td>
        @Html.HiddenFor(model => model.ID)
    </td>
    <td>
        @Html.TextBoxFor(model => model.FirstName)
        @Html.ValidationMessageFor(model => model.FirstName)
    </td>
    <td>
        @Html.TextBoxFor(model => model.LastName)
        @Html.ValidationMessageFor(model => model.LastName)
    </td>        
}

私のhttp投稿アクションメソッドは次のようになります

[HttpPost]
public ActionResult PostWomen(WomenEditModel model)
{
    /*I need to iterate through the returned list and save all
    changes to the db.*/

    return RedirectToAction("Index");
}

WomenEditModelポストアクションメソッドで受け取ったモデルをループして、女性リストへの変更をデータベースに保存するにはどうすればよいですか?

前もって感謝します!!

4

2 に答える 2

1

マシンに戻ってきました。まだ達成していない場合は、次の方法で達成できます。

リストをレンダリングする私のアクション

    public ActionResult Index()
    {
        List<Women> womens = new List<Women>
            {
                new Women
                    {
                         Id=1,
                         FirstName = "Women1",
                         LastName = "Lastname1"
                    },
                new Women
                    {
                         Id=2,
                         FirstName = "Women2",
                         LastName = "Lastname2"
                    }
            };
        WomenList womenList=new WomenList();
        womenList.Womens = womens;
        return View(womenList);
    }

リストが投稿されるアクション。

    public ActionResult SaveWomens(List<Women> womenList)
    {
        System.Diagnostics.Debugger.Break();
        //Your save logic goes here
        return View("");
    }

部分図(必要かどうかは不明)

@model List<MvcApplication1.Models.Women>
<table>
    @for (var i = 0; i < Model.Count; i++)
    {

        <tr>
            <td>
                @Html.TextBoxFor(m => m[i].Id)
            </td>
            <td>@Html.TextBoxFor(m => m[i].FirstName)
            </td>
            <td>@Html.TextBoxFor(m => m[i].LastName)
            </td>
        </tr> 
    }
</table>

で、景色はこちら

@model MvcApplication1.Models.WomenList
@{
    ViewBag.Title = "Home Page";
}
@section featured {
}
@using (Html.BeginForm("SaveWomens", "Home", FormMethod.Post))
{ 
    @Html.Partial("_Women", Model.Womens)

    <input type="submit" value="save" />
}
于 2013-08-27T14:43:14.643 に答える
0

次のように達成できます

 foreach (var item in womenList)
 {
     var obj = new Womens();
     //Assign values to obj for eg: obj.prop = item.prop
     dataContext.Womens.AddObject(obj);                  
 }
 dataContext.SaveChanges();
于 2013-08-27T16:03:36.193 に答える