@{
List
@Html.ActionLink("添加", "Add")
@user.UserID | @user.UserName | @user.UserPassword | @Html.ActionLink("删除", "Delete", new { id = user.UserID }) | @Html.ActionLink("修改", "Edit", new { id = user.UserID }) |
}
上学期教同学时写了一个绝对适合入门的小例子 用的是asp.net mvc3+linq to entity
linq to entity和linq to sql在使用上本身差距不大 你肯定能看懂的
*razor页面中用的是弱类型的helper
还有疑问可以去此论坛.net区提问:
http://bbs.ctrlc.com.cn/
欢迎交流
原文地址:http://user.qzone.qq.com/523080653/blog/1300030445
--------------------------------------------------------------------------------------------------------------
今天给同学演示用的demo 无美工无分层无XXXXXX 三无产品 绝对适合入门...
就一张表 UserInfo{UserID,UserName,UserPassword}
逻辑写controller里了 model里就一个实体 就不列出来了
HomeController
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using TestDemo.Models;
using System.Data.Objects;
namespace TestDemo.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
TestEntities te = new TestEntities();
ObjectQuery
var users = from u in userInfos
select u;
ViewData.Model = users.ToList();
return View();
}
public ActionResult Delete(int id)
{
TestEntities te = new TestEntities();
ObjectQuery
var query = userInfos.Single(u => u.UserID == id);
te.DeleteObject(query);
te.SaveChanges();
return RedirectToAction("Index");
}
public ActionResult Add()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(FormCollection form)
{
TestEntities te = new TestEntities();
UserInfo addUser = new UserInfo()
{
UserName = form["userName"].ToString(),
UserPassword = form["userPassword"].ToString()
};
te.UserInfoes.AddObject(addUser);
te.SaveChanges();
return RedirectToAction("Index");
}
public ActionResult Edit(int id)
{
TestEntities te = new TestEntities();
ObjectQuery
UserInfo user = userInfos.Single(u => u.UserID == id);
ViewData.Model = user;
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(FormCollection form)
{
TestEntities te = new TestEntities();
ObjectQuery
int id = Int32.Parse( form["userID"].ToString());
var query = from u in userInfos
where u.UserID == id
select u;
UserInfo editUser = query.First();
UserInfo user = new UserInfo()
{
UserID=id,
UserName = form["userName"].ToString(),
UserPassword = form["userPassword"].ToString()
};
editUser.UserName = user.UserName;
editUser.UserPassword = user.UserPassword;
te.SaveChanges();
return RedirectToAction("Index");
}
}
}
Add.cshtml
@{
ViewBag.Title = "Add";
}Add
@using (Html.BeginForm())
{
@Html.Label("姓名")
@Html.TextBox("userName")
@Html.Label("密码")
@Html.TextBox("userPassword")
}
Edit.cshtml
@using TestDemo.Models
@{
ViewBag.Title = "Edit";
}
Edit
@using (Html.BeginForm())
{
UserInfo query = ViewData.Model;
@Html.Label("ID", query.UserID.ToString());
@Html.Label("姓名");
@Html.TextBox("userName");
@Html.Label("密码");
@Html.TextBox("userPassword");
@Html.Hidden("userID", query.UserID);
}
Index.cshtml
@using TestDemo.Models;
@{
ViewBag.Title = "Index";
}
@{
List
@Html.ActionLink("添加", "Add")
@foreach (UserInfo user in users)
{
@user.UserID
@user.UserName
@user.UserPassword
@Html.ActionLink("删除", "Delete", new { id = user.UserID })
@Html.ActionLink("修改", "Edit", new { id = user.UserID })
}
}
ASP.NET MVC3.0是一个页面展示层的框架,将我们平日理解的三层架构(页面展示层,业务逻辑层,数据访问层)的页面展示层,再分为mvc三层。其中的m表示业务模型,v标识展示的html,c是页面展示的控制器,负责页面逻辑哦。
现在最佳的选择还是实体框架也就是Linq to Entity ........
写 链接数据库的 字符串 了~~