Asp.net mvc 使用ajax单击按钮时mvc部分回发

Asp.net mvc 使用ajax单击按钮时mvc部分回发,asp.net-mvc,ajax,partial-views,Asp.net Mvc,Ajax,Partial Views,情景: 我有一个下拉列表,一个按钮和html表格,显示来自模型的数据。 以下是aspx&controller中的代码 当我单击submit按钮时,数据显示不回发,但dropdownlist&按钮出现两次,然后单击以下按钮即可 我应该在任何地方使用Html.RenderPartial吗,不确定 //Controller [AcceptVerbs(HttpVerbs.Post)] public ActionResult SimpleUpdate(int carMake)

情景: 我有一个下拉列表,一个按钮和html表格,显示来自模型的数据。 以下是aspx&controller中的代码

当我单击submit按钮时,数据显示不回发,但dropdownlist&按钮出现两次,然后单击以下按钮即可

我应该在任何地方使用Html.RenderPartial吗,不确定

//Controller
[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult SimpleUpdate(int carMake)
        {
            ViewData["CarMake"] = new SelectList(_carDataContext.Makes.Select(m => new { ID = m.Id, Name = m.Name }), "ID", "Name", carMake);
            var carModel = _carDataContext.Models.Where(m => m.MakeId == carMake).ToList();
            return PartialView("carmodels", carModel);
        }

// in aspx
    <%using (Ajax.BeginForm("SimpleUpdate", new AjaxOptions { UpdateTargetId = "ajaxPanel" }))
          {%>
        <%=Html.DropDownList("CarMake")%>
        <br />
        <input type="submit" value="SimpleUpdate" />
        <%
            }%>
        <div id="ajaxPanel">
            <%
                if (Model != null)
                {
            %>
            <table>
                <tr>
                    <th>
                        Id
                    </th>
                    <th>
                        Name
                    </th>
                    <th>
                        MakeId
                    </th>
                </tr>
                <%

                    foreach (var item in Model)
                    {%>
                <tr>
                    <td>
                        <%=Html.Encode(item.Id)%>
                    </td>
                    <td>
                        <%=Html.Encode(item.Name)%>
                    </td>
                    <td>
                        <%=Html.Encode(item.MakeId)%>
                    </td>
                </tr>
                <%
                    }%>
            </table>
            <%}%>
        </div>
//控制器
[接受动词(HttpVerbs.Post)]
公共行动结果简单更新(int carMake)
{
ViewData[“CarMake”]=新建选择列表(_carDataContext.Makes.Select(m=>new{ID=m.ID,Name=m.Name}),“ID”,“Name”,CarMake);
var carModel=_carDataContext.Models.Where(m=>m.MakeId==carMake.ToList();
返回PartialView(“carmodels”,carModel);
}
//在aspx中

身份证件 名称 马克伊德
在这种情况下,您需要创建局部视图(如用户控件),而不是普通视图。您必须使用Html.RenderPartial将局部视图作为控件添加到主视图中