0

リストを生成するために使用されているViewDataがあります。アイテムを選択すると、そのアイテム情報が表示および編集用のテキストボックスに表示されます。保存ボタンをクリックすると保存されますが、リストボックスは更新されません。ビューデータを使用しているため、このリストボックスを更新するにはどうすればよいですか?

   @Html.ListBox("ListBoxName", new SelectList((IEnumerable<Epic>)ViewData["selectedestimate"], "Id", "Name", "EstimatedTime"), new {@class = "ListBoxClass", @style = "height: 325px;"})

   <button id="EpicSaveId" type="submit" class="btn" onclick="SaveEpicInfo((document.getElementById('EpicNameID').value), (document.getElementById('EpicTimeId').value), (document.getElementById('EpicDescriptionID').value))">

保存ボタンをクリックした場合: (Javascript)

        function SaveEpicInfo(name, time, description) {
    $.get('@Url.Action("SaveEditEpic", "Estimate")', { id: eid, epicname: name, epictime: time, epicdescription: description }, function (result) {
        alert(result);

    });

}

コントローラ:

     [AcceptVerbs(HttpVerbs.Get)]
    public JsonResult SaveEditEpic(int id, string epicname, double epictime, string epicdescription)
    {
        var epic = epicRepository.Select().SingleOrDefault(x => x.Id.Equals(id));
        if (epic != null)
        {
            epic.Name = epicname;
            epic.EstimatedTime = epictime;
            epic.EpicDescription = epicdescription;
            //ViewData["selectedestimate"] = epicRepository.Select().Where(x => x.EstimateId.Equals(ActiveEstimateId)).ToList();
            return Json("Epic Saved", JsonRequestBehavior.AllowGet);
        }
        else
        {
            return Json("Error");
        }
    }
4

1 に答える 1

1

これらの選択配列を繰り返し処理し、selected = true のオプションを探して、その値を保存する必要があります。

于 2012-04-16T00:51:18.410 に答える