MVC
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC
应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
View(视图) Model(模型) Controller(控制器)
创建项目框架
新建 web—ASP.net web应用程序
Areas :区域 Content:插件 Models:数据库
Controllers:控制器 Common:封装类
数据---实体数据模型
视图页面
#region
public ActionResult login()
{//右键添加视图
return View();
}
#endregion
相关代码
去空格 .Trim();
页面跳转:window.location.href = "/Main/Main";
键盘事件 onkeydown="onreturn()"
回车事件 if (window.event.keyCode == 13) {}
刷新页面 location.reload();
html追加内容 $("#Academe").append();
下拉框改变事件 .change(function () {}
bsgrid表格设置
声明表格 var tabStudent;
$(function () { //表格ID tabStudent
tabStudent = $.fn.bsgrid.init('tabStudent', {//初始化
url: '/ExaminationManagement/SetExaminee/SelectStudentAll',
autoLoad: false,//自动加载
stripeRows: true,//隔行变色
rowHoverColor: true,//划过行变色
displayBlankRows: false,//是否显示空白行, 默认值true
pageSize: 17,//分页大小,
pageSizeSelect: true,// 是否显示分页大小选择下拉框, pagingLittleToolbar: true,//是否显示精简的图标按钮分页工具条,
});
//jQuery.bsgrid里面的第三种方法 提交参数 search数据筛选
tabStudent.search({ studentNumber: studentNumber, academeId: academeId });
int count = linqItem.Count(); //总条数
List<StudenVo> listStudent = linqItem
.Skip(bsgridPage.GetStartIndex())//开始数据的索引
.Take(bsgridPage.pageSize).ToList();//页面大小 显示行
//转化为表//调用分页封装类(扩展表),
Bsgrid<StudenVo> bsgrid = new Bsgrid<StudenVo>
{
success = true,//成功与否
totalRows = count,//总行数
curPage = bsgridPage.curPage,//当前页
data = listStudent//具体数据
};
return Json(bsgrid, JsonRequestBehavior.AllowGet);//返回数据bsgrid
会话机制
Session(项目的任何位置都可以调用)适合小量数据 服务端
//存Session["user"] = "majcms";
//取String username = Session["user"].ToString();
cookie 用于保存客户浏览器请求服务器页面的请求信息 客户端
//存Response.Cookies["name"].Value = "majcms";
//取String username = Response.Cookies["name"].Value;
//ViewBag获取动态视图数据字典 将数据传输到view 用@...引用
ViewBag.UserNuber = UserNuber;
value="@ViewBag.UserNuber"
控制器获取页面数据
查询数据
public ActionResult CheckLogin()
{//"zhanhao"需与页面层的name值对应
string zhanhao = Request.Form["zhanhao"];
};
<input id="UserNuber" name="zhanhao" value="@ViewBag.UserNuber" type="text" class="form-control" /
*Lambda 运算符 =>, 通过学院id在学院表查询学院
var listAcademe = myModels.SYS_Academe.Where(m => m.AcademeID == ID).ToList();
//多表条件查询
var ListGrade = (from dbStudent in myModels.PW_Student
//join连接二个表 on equals 通过什么连接
join dbAcademe in myModels.SYS_Academe
on dbStudent.AcademeID equals dbAcademe.AcademeID// 学院表
join dbUser in myModels.PW_User
on dbStudent.UserID equals d bUser.UserID//用户表
orderby dbStudent.studentID descending//倒序排序
where tdGrade.AcademeID == ID//条件查询
select new StudenVo{//vo用于逻辑层和表示层之间数据处理封装
Id = tdGrade.GradeID,//年级ID
Name = tdGrade.GradeName.Trim()//年级
}).ToList();
新增数据
public ActionResult InsertAcademe(string AcademeName,string AcademeCode){
//实例化表对象
Models.SYS_Academe myAcademe = new Models.SYS_Academe();
//给表对象属性赋值 新增数据 赋值页面输入的数据
myAcademe.AcademeName = AcademeName.Trim();
myAcademe.AcademeCode = AcademeCode.Trim();
//把表的对象加载到实体对象模型中
myModels.SYS_Academe.Add(myAcademe);//给学院表添加行 myAcademe实例化的表
myModels.SaveChanges();//保存 插入数据库
}
修改数据
myModels.Entry(myAcademe).State = EntityState.Modified;//将实体变为修改状态
myModels.SaveChanges();//保存 插入数据库
删除数据
// Remove移除 查到的数据
myModels.SYS_Academe.Remove(listAcademe[0]);
var dd = myModels.SaveChanges();//保存 插入数据库
if (dd == 1)//只有一行受影响
{strMsg = "success";}//删除成功
-------------------------------------------------------------------------------
页面传递据
$("#btnSubmit").click(function () {
var formDate = $("#from").serializeArray();
//不确定参数时serializeArray() 方法通过序列化表单值来创建对象数组
$.post("/Main/CheckLogin", formDate, function (data) {
// 请求路径 传递数据 回调函数(返回数据)
}}
//问号?拼接参数 &连接参数
$.getJSON("/SystemManagement/CollegeInfor/InsertAcademe?AcademeName="
+ Name + "&AcademeCode=" + Code, function (date) {//回调函数 strmsg
});
$.ajax({//异步提交
url: "/SystemManagement/CollegeInfor/DelectAcademe?ID=" + check[i].value,
, //列表接口地址 控制器方法 时间去除缓存
type: "get",//数据传输 通道的类型
async: false,//是否异步
dataType: "json",//数据类型
success: function (data) {//回调函数 }
});
LINQ to SQL
单表查询
var dbAcademe = (from tbAcademe in myModels.SYS_Academe
// 命名 查询表 实体表
orderby tbAcademe.AcademeID descending
// orderby按学院ID进行descending(倒叙)排序
select new { // 无条件无where 进行查询
ID=tbAcademe.AcademeID,//学院ID
}).ToList();//转换为列表
.Single(返回唯一的数据)
.ToList(返回一个列表)
返回类型为文件
return File(btValideCode, @"image/jpeg");
文件形式File返回(具体文件,文件类型)
返回类型为数据
return Json(strmsg, JsonRequestBehavior.AllowGet);//允许方法get提交
AJAX AJAX = 异步 JavaScript 和 XML。
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
JSON是存储和交换文本信息的语法:
1.数据在名称/值对中(分号隔开) name:key
2.数据由逗号分隔 name:key,name1:key2
3.花括号保存对象({}){name:key,name1:key2}
4.方括号保存数组([]) [{name:key,name1:key2},{name:key,name1:key2}]
HTML
表单标签 <from></from>
输入标签 <input type="text" name="lastname" />
文本域 <textarea name="dizhi" id="dizhi"></textarea>
单选按钮
<input type="radio" name="sex" value="male" /> Male
<input type="radio" name="sex" value="female" /> Female
复选框
<input type="checkbox" name="bike" />I have a bike
<input type="checkbox" name="car" />I have a car
下拉框
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</select>
表单 <from></from>传出数据
action 链接 规定当提交表单时向何处发送表单数据
可以是其他站点src=www.baidu.com 也可以是站点内文件 src="/jQueryAjax/formAction"
method get/post 规定用于发送 form-data 的 HTTP 方法。(提交表单的方式)
默认Get 获取数据 不安全并且传输数据小 get提交时参数直接暴露在URL上。
post 传递修改数据 安全可传输大量数据
1.<from action= "/jQueryAjax/formAction " method="get" >
<input type="text" value="" name="txtName" id="txtName" />
<button type=”submit”></button> //submit 提交表单
</from>
2.<from action= "/jQueryAjax/formAction " method="post" >
<input type="text" value="" name="txtName" id="txtName" />
<button type=”submit”></button> //submit 提交表单
</from>
3.<from> 通过js设置属性
<input type="text" value="" name="txtName" id="txtName" />
<button></button>
</from>
$("button").click(function () {//第一种获取表单的方式
$("from").attr({ "method": "post",
"action": "/jQueryAjax/formAction" }); });
逻辑代码 接受视图层数据
1. public ActionResult formAction(FormCollection form) 只能接收post
{ string name = form["txtName"]; //name的值
string sex = form["cboSex"];
string address = form["txtAddress"];
return Content(name+"&"+sex+"&"+address);
//Content(string)返回字符串 输入到页面
FormCollection用来在controller中获取页面表单元素的数据。
它是表单元素的集合,包括<input type="submit" />元素。}
2. public ActionResult formAction1()
{ string name = Request.Form["txtName"];
string sex = Request.Form["cboSex"];
string address = Request.Form["txtAddress"];
return Content(name + "&&" + sex + "&&" + address);//Content(string)返回字符串 }
3. public ActionResult formAction1 (string txtName,string cboSex,string txtAddress)
{ string name = txtName;
string sex = cboSex;
string address = txtAddress;
return Content(name + "&&&" + sex + "&&&" + address);
//Content(string)返回字符串 }