Asp.net mvc 调用控制器方法和显示列表-MVC
我正在做一个项目,我想在点击按钮时将用户添加到列表中。 用户可以在点击按钮之前输入姓名和工资 问题是:单击按钮时,如何调用控制器方法并显示列表 控制器:Asp.net mvc 调用控制器方法和显示列表-MVC,asp.net-mvc,Asp.net Mvc,我正在做一个项目,我想在点击按钮时将用户添加到列表中。 用户可以在点击按钮之前输入姓名和工资 问题是:单击按钮时,如何调用控制器方法并显示列表 控制器: namespace TimeIsMoney.Controllers { public class HomeController : Controller { List<UserModel> list = new List<UserModel>(); public Acti
namespace TimeIsMoney.Controllers
{
public class HomeController : Controller
{
List<UserModel> list = new List<UserModel>();
public ActionResult Index()
{
return View();
}
public ActionResult AddUser(UserModel user)
{
var list = Session["myUsers"] as List<UserModel>;
list.Add(user);
return View(list);
}
}
}
将字段放在表单标记中,并将表单发布到
AddUser
操作方法
像这样更新索引视图。您可以看到此视图是针对UserModel的强类型视图
@model TimeIsMoney.Models.UserModel
@using(Html.BeginForm("AddUser","Home")
{
@Html.TextBoxFor(s=>s.UserName)
@Html.TextBoxFor(s=>s.Wage)
<input type="submit"/ >
}
确保AddUser
方法返回一个没有布局的视图
您可以转到AddUser.cshtml
视图,并将布局设置为空
@{
Layout=null;
}
对于第二部分,如果使用Ajax.BeginForm而不是Html.BeginForm,则不需要任何javascript。这类似于使用(Ajax.BeginForm(“AddUser”,“Home”,null,new AjaxOptions{HttpMethod=“Post”,InsertionMode=InsertionMode.Replace,UpdateTargetId=“userList”,new{id=“addUserForm”}))
不要多次问同一个问题。
@model TimeIsMoney.Models.UserModel
@using(Html.BeginForm("AddUser","Home")
{
@Html.TextBoxFor(s=>s.UserName)
@Html.TextBoxFor(s=>s.Wage)
<input type="submit"/ >
}
@model TimeIsMoney.Models.UserModel
@using(Html.BeginForm("AddUser","Home")
{
@Html.TextBoxFor(s=>s.UserName)
@Html.TextBoxFor(s=>s.Wage)
<input id="btnSubmit" type="submit"/ >
}
<div id="userList" />
@section Scripts
{
<script>
$(function(){
$("#btnSubmit").click(function(e){
e.preventDefault();
var _form=$(this).closest("form");
$.post(_form.attr("action"),_form.serialize(),function(response){
$("#userList").html(response);
});
});
});
</script>
}
@{
Layout=null;
}