mvc ajax form,MVC之Ajax.BeginForm使用详解之更新列表(示例代码)

1.首先,请在配置文件设置如下:(该项默认都存在且为true)

2.在你的_layout.cshtml中引入JS文件:

3.获取简单的某个值,比如ID,NAME等int,string类型:

数据实体User.cs:

2a99a8694c5640f9b333dfc757458a69.jpg

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace MvcApplication1.Models

{

public class User

{

public int ID { get; set; }

public string Name { get; set; }

}

}

2a99a8694c5640f9b333dfc757458a69.jpg

控制器UserController.cs:(部分代码)

2a99a8694c5640f9b333dfc757458a69.jpg

///

/// 定义的用户仓库

///

private List _userRepository = new List {

new User{ID=1,Name="ab"},

new User{ID=2,Name="bc"},

new User{ID=3,Name="cd"},

new User{ID=4,Name="ace"}

};

#region GetUserID For (获取简单的某个值)

public ActionResult UserID()

{

return View();

}

[HttpPost]

public int UserID(string name)

{

User user = _userRepository.FirstOrDefault(x => string.Equals(x.Name, name, StringComparison.CurrentCultureIgnoreCase));

if (user == null)

{

return -1;

}

return user.ID;

}

#endregion

2a99a8694c5640f9b333dfc757458a69.jpg

视图UserID.cshtml:

2a99a8694c5640f9b333dfc757458a69.jpg

@using MvcApplication1.Models;

@model User

@{

ViewBag.Title = "查询用户ID";

}

@using (Ajax.BeginForm("UserID", "User", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "div_uid", InsertionMode = InsertionMode.Replace }))

{

@Html.TextBox("name")

查询UserID

}

2a99a8694c5640f9b333dfc757458a69.jpg

如果你前面该引入的文件都引了,那么在点击查询时,

div_uid 中就会显示查询到的ID

结果如下:

9484d714417d4e67aad9461d069921e6.jpg

4.获取用户列表,用于异步刷新列表:

注意:如果你有一个列表需要异步查询并更新查询结果,那就需要使用分布视图!也就是说你还需要一个View才可以,不可以将结果直接返回到本页!

控制器UserController.cs:(部分代码)

2a99a8694c5640f9b333dfc757458a69.jpg

#region GetUserList (获取用户列表,用于异步刷新列表)

// GET: /User/

public ActionResult UserList()

{

var result = _userRepository;

return View(result);

}

[HttpPost]

public ActionResult UserList(string name)

{

var result = _userRepository;

if (!string.IsNullOrWhiteSpace(name))

{

result = _userRepository.Where(u => u.Name.Contains(name)).ToList();

}

return PartialView("_pview", result);

}

#endregion

2a99a8694c5640f9b333dfc757458a69.jpg

主视图UserList.cshtml:

2a99a8694c5640f9b333dfc757458a69.jpg

@using MvcApplication1.Models;

@model List

@{

ViewBag.Title = "Index";

}

@using (Ajax.BeginForm("UserList", "User", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "tb", InsertionMode = InsertionMode.Replace }))

{

@Html.TextBox("name")

查询UserList

}

用户ID用户名称

@Html.Partial("_pview", Model)

2a99a8694c5640f9b333dfc757458a69.jpg

分布视图_pview.cshtml:

2a99a8694c5640f9b333dfc757458a69.jpg

@using MvcApplication1.Models;

@model List

@{

Layout = null;

ViewBag.Title = "_pview";

}

@foreach (User u in Model)

{

@u.ID@u.Name

}

2a99a8694c5640f9b333dfc757458a69.jpg

结果如下:

9916d8c000084d828c535d428c0310a0.jpg

点击查询后:

cd6c33520f08451fab282cad0d6f55cf.jpg

5.好了,基本上主流的2个用法都有,希望能对大家有帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值