关于ajax结合分部视图实现异步刷新

本文介绍了如何结合Ajax和MVC4.0的分部视图实现异步刷新功能。在未执行查询时,数据展示也依赖于分部视图。关键在于Ajax.BeginForm中设置UpdateTargetId参数,该参数需对应页面中需更新的元素ID。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试着使用ajax结合分部视图做了一个异步刷新,记录一下。

显示数据的视图代码:

<p>
    @using (Ajax.BeginForm("SearchIndex", "TestDataDB", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "result"}, new { id = "searchForm" } ))
    {        
        <p>用户名:@Html.TextBox("SearchString")<br />
        <input type="submit" value="查询"/></p>
    }   
</p>

<table id="result">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Uid)   
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Uname)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Upwd)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Udata)
        </th>
        <th></th>
    </tr>
    @{Html.RenderPartial("UserList",Model);}  
</table>

分部视图UserList代码:

@foreach (Test13.Models.TestDataDB item in Model)
{
        <tr>
            <td>@item.Uid</td>
            <td>@item.Uname</td>
            <td>@item.Upwd</td>
            <td>@item.Udata</td>
            <td>
                @Html.ActionLink("编辑", "Edit", new { id=item.ID }) |
                @Html.ActionLink("查看详细", "Details", new { id=item.ID }) |
                @Html.ActionLink("删除", "Delete", new { id=item.ID })
            </td>
        </tr>
}

控制器代码:

    <span style="white-space:pre">	</span>[HttpPost]
        public PartialViewResult SearchIndex(string searchString)
        {
            var UserData = from m in db.TestDataDBS
            select m;
            if (!String.IsNullOrEmpty(searchString))
            {
                UserData = UserData.Where(s => s.Uname.Contains(searchString));
            }
            return PartialView("UserList", UserData.ToList());
        }

需要注意的有两点:

1、没有进行查询的时候,数据的显示也是通过分部视图。

2、Ajax.BeginForm中的UpdateTargetId表示要更新的内容,需要与页面中的元素对应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值