0

部分ビューを作成しました

@model chPayroll.Models.HREducation.HRInfo
 @{
      var list = (IEnumerable<SelectListItem>)TempData["PassedDivision"];
      var list1 = (IEnumerable<SelectListItem>)TempData["Country"];
 }
 <table >
       @Html.HiddenFor(x => x.StaffId)
   <tr>
    <td>@Html.DropDownListFor(x => x.Country, list1, "-select-",null)</td>
    <td>@Html.TextBoxFor(x => x.Board)</td>
    <td>@Html.TextBoxFor(x => x.Level)</td>
    <td>@Html.TextBoxFor(x => x.PassedYr)</td>
    <td>@Html.DropDownListFor(x => x.PassedDivision, list, "-selected-",null)</td>
    <td><input type="file" name="file" /></td>
   </tr>
</table>

この部分ビューをコントローラーから複数回呼び出しています

[HttpGet]
        public ActionResult BlankEditorRow(string search)
        {
            HRInfo aa = new HRInfo();
            TempData["PassedDivision"] = extract.getDivision();
            TempData["Country"] = extract.getCountry();
            aa.StaffId=(Convert.ToInt16(search));
            return PartialView("ViewUserControl1",aa);

        }
   [HttpPost]
   public ActionResult BlankEditorRow(HRInfo ob)
   {
     extract.SaveEdu(ob);
    }

一度に 1 つずつ値を取得できます。つまり、部分ビューが呼び出されたときに正常に動作します。しかし、2 つまたは複数の部分ビューから値を取得する必要がある場合、動作しません。

4

1 に答える 1

0

私は自分のコードのいくつかでこれを使用しています。

@Html.TextBox(Model.ID + ".Country", Model.Country)
...

したがって、複数の値から値を取得したい場合は、UpdateModel(myModel, Model.ID.ToString()) を使用するだけです。

それはあなたが必要とするものですか?

于 2012-12-22T02:05:05.413 に答える