MVC的增删改查

基本都要使用C控制器中的两个action来完成操作,一个用于从主界面跳转到新页面、同时将所需操作的数据传到新界面,另一个则对应新界面的按钮,用于完成操作、将数据传回主界面以及跳转回主界面。根据不同情况使用不同的传值方法。

在M模型层中定义所需的LinQ操作

1.查

<table style="width:100%;background-color:#0ff;text-align:center">
<tr>
<td>账号</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
<td>操作</td>
</tr>
<%
List<User> list = new UserData().Select();
foreach(User U in list){
%>
<tr style="background-color:#cefef8">
<td><%=U.UserName %></td>
<td><%=U.PassWord %></td>
<td><%=U.NickName%></td>
<td><%=U.Sexstr %></td>
<td><%=U.birStr %></td>
<td><%=U.Nation1.NationName %></td>
<td> <a href="Home/Update/<%=U.UserName %>">修改</a>
<a class="del" href="Home/Delete?haha=<%=U.UserName %>">删除</a></td>
</tr>
<% }%>
</table>

2.删

在C层添加动作

public void Delete(string uname)
{
User u = con.User.Where(r => r.UserName == uname).FirstOrDefault();
if (u != null)
{
con.User.DeleteOnSubmit(u);
con.SubmitChanges();
}
}

3.添加

View中提交元素,表单元素使用form表单提交,按钮的使用submit,点击submit的时候会提交所在form表单中的数据,在控制器C中获取元素,在模型层M的写法,在C中调用。

<form name="form1" action="Insert1" method="post">

            <%string a = ""; %>
<h1>添加用户</h1>
用户名:<input type="text" name="username" /><br />
密码:<input type="text" name="password" /><br />
昵称:<input type="text" name="nickname" /><br />
性别:<input type="text" name="sex" /><br />
生日:<input type="text" name="birthday" /><br />
民族:<input type="text" name="nation" /><br />
<input type="submit" value="添加" />
</form>
public ActionResult Insert()
{
return View();
} public ActionResult Insert1(string username, string password, string nickname, string sex, string birthday, string nation)
{
Users u = new Users();
u.UserName = username;
u.PassWord = password;
u.NickName = nickname;
u.Sex = Convert.ToBoolean(sex);
u.Birthday = Convert.ToDateTime(birthday);
u.Nation = nation; new UsersData().Insert(u); return RedirectToAction("Index", "Home");
}//接收form表单提交的数据

4.修改

同添加,需要两个action支持,一个主页面打开修改页面,一个修改按钮确定修改返回主页面

从控制器传值到View使用ViewBag.包名=数据源。

View中<%Users u=ViewBag.包名 as User; %>

系统自生成的Users u 有可能缺少部分内容

form表单中的action路径 action="/home/update"

public ActionResult Update(string id)
{
User u = new UserData().Select(id); ViewBag.heihei1 = u;
return View();
}
public ActionResult Update1(User u)
{
new UserData().Update(u); return RedirectToAction("Index");
}
上一篇:Extjs布局


下一篇:ExtJS布局方式(layout)图文详解