您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > ASPNET学习笔记
ASP.NET学习笔记13移动开发1班牟亚诚20132110010326一、ASP.Net的两种开发模式1.1ASP.NetWebForm的开发模式1)处理流程在传统的WebForm模式下,我们请求一个例如的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后由index.aspx页面的CodeBehind文件(.CS文件)进行逻辑处理,其中或许也包括到数据库去取出数据,然后再由index.aspx页面来呈现给用户。综上所述,在WebForm模式下:一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。(2)开发方式•服务器端控件•一般处理程序+Html静态页+Ajax•一般处理程序+Html模板引擎1.2ASP.NetMVC的开发模式(1)处理流程在ASP.NetMVC中,客户端所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。再说回前面我们运行的ASP.NETMVC程序访问的这个URL,它访问的其实是HomeController中的Index这个Action。(2)显著特点•2009年第一个开源项目版本发布,至今已过去5年,发展逐渐完善•更加简洁,更加接近原始的“请求-处理-响应”•更加开发、更多的新的特点、社区活跃•不会取代WebForm•底层跟WebForm都是一样的,只是管道上不同的处理而已二、ASP.NetMVC下的两种AJAX方式2.1使用JQueryAJAX方式首先,在ASP.NetMVC中使用此种方式跟普通的WebForm的开发方式是一致的,需要注意的是:Url地址不同-请求的是Controller下的Action,例如在WebForm中请求的url通常是/Ajax/UserHandler.ashx,而在MVC中请求的url通常为:/User/GetAll。例如,我们在一个View中添加一个按钮,用于使用AJAX获取一个服务器端的时间:h1JQueryAjax方式/h1inputid=btnJQuerytype=buttonvalue=获取服务器时间/在Home控制器中增加一个用于返回时间的Action:publicActionResultGetServerDate(){returnContent(DateTime.Now.ToString());}在View中增加一段JQuery代码,为btnJQuery按钮绑定一个Click事件:$(function(){$(#btnJQuery).click(function(){$.post(/Home/GetServerDate,{},function(data){if(data!=null){$(#spTime).html(data);}});});});至此,一个使用JQueryAjax的MVC页面就完成了。但是,这仅是一个最简单的AJAX示例,在实际开发中往往比较复杂一点。需要注意的是:(1)如果你在JQueryAJAX中使用的是get方式的提交,那么在在使用Json返回JsonResult时注意要将第二个参数设置允许Get提交方式:returnJson(“”,JsonRequestBehavior.AllowGet),否则你用get方式是无权执行要请求的Action方法的。(2)在Ajax开发中要注意Ajax方法体内的参数设置正确,特别是参数名要和Action中的参数名保持一致;(3)如果在Action中为其设置了[HttpPost]或[HttpGet],那么提交方式要跟Action打的标签一致;2.2使用MicrosoftAJAX方式在ASP.NetMVC中除了可以使用JQueryAJAX外,Microsoft为我们提供了另一套实用且更简单的AJAX方案,我们姑且称其为:MicrosoftAJAX方式。(1)首先:需要将微软提供的js脚本引入到页面中:其实就是jquery.unobtrusive-ajax.jsscriptsrc=~/Scripts/jquery-1.7.1.min.js/scriptscriptsrc=~/Scripts/jquery.unobtrusive-ajax.min.js/script确保在Web.config中启用了UnobtrusiveJavaScriptaddkey=UnobtrusiveJavaScriptEnabledvalue=true/(2)其次,使用Ajax.BeginForm方法构造一个form表单:h1MicrosoftAjax方式/h1@using(Ajax.BeginForm(GetServerDate,Home,newAjaxOptions(){HttpMethod=POST,Confirm=您确定要提交?,InsertionMode=InsertionMode.Replace,UpdateTargetId=spResult,OnSuccess=afterSuccess,LoadingElementId=loading})){tabletrtd用户名:/tdtdinputid=txtUserNamename=UserName//td/trtrtd密码:/tdtdinputid=txtPasswordname=Password//td/trtrtdalign=centercolspan=2inputid=btnAjaxtype=submitvalue=提交//td/trtrtdalign=centercolspan=2divid=loadingstyle=display:noneimgstyle=vertical-align:middlesrc=~/Content/ico_loading2.gif/正在获取中,请稍候.../divspanid=spResult/span/td/tr/table}三、ASP.NET连接数据库1.asp.net链接数据库可以用在vs中直接拖数据链接控件,直接添加数据库就可以了,也可以在“web”设置文件中用命令添加:一般写在后台web.config(配置文件)中appSettingskey=ConnectionStringvalue=serverlocalhost\sqlexpress;uid=sa;pwd=123456;database=News//appSettingsStringstrConn=System.Configuration.ConfigurationManager.AppSettings[ConnectionString].ToString();SqlConnectionConn=newSqlConnection(strConn);本地调用connectionStringsaddname=ConnconnectionString=datasource=.\SQLEXPRESS;uid=sa;password=535481;database=bd_05;providerName=System.Data.SqlClient//connectionStrings或者不用web.config直接在文件中写SqlConnectionconn=newSqlConnection(server=.\\SQLEXPRESS;uid=sa;pwd=123456;database=login);
本文标题:ASPNET学习笔记
链接地址:https://www.777doc.com/doc-2898778 .html