如何将viewmodel传递给控制器​​?

时间:2010-10-11 13:35:19

标签: linq-to-entities viewmodel

我的viewmodel出了问题。 我的DropDownList有很多翻译值(模式here

在我的控制器中 - HTTPGET:

 public ActionResult Edit(int id) {

            int DropDownListValueId = id;

            SelectListViewModel viewmodel = new SelectListViewModel(0, DropDownListValueId);          

            return View(viewmodel);

        } 

在我看来:

  <% using (Html.BeginForm())
       {%>
        <%: Html.ValidationSummary(true)%>

        <fieldset>
            <legend>Fields</legend>      

            <%foreach (var item in Model.DropDownListValue.DropDownListValue_Translation)
              {%>                  
                    <%: Html.TextBoxFor(model => item.Name) %><br />           

            <%  } %>

            <p>
                <input type="submit" value="Save" />
            </p>
        </fieldset>

    <% } %>

在我的控制器中,HTTPPOST:

[HttpPost]
public ActionResult Edit(SelectListViewModel viewmodel)
{                
    return View();
} 

我的问题:数据未在httppost中传递;我认为问题是foreach在我看来?

1 个答案:

答案 0 :(得分:0)

在我看来,键入viewmodel:

<legend>Contacts</legend>
      <% for (int i = 0; i < Model.Contacts.Count; i++) { %>

            <%: Html.EditorFor(model => model.Contacts[i],"Contact") %>

        <% } %>

有了这个,我将我的列表绑定到控制器!