您的位置:

首页 >

5060官方网址大全 >

5060官方网址大全:IIS部署asp.net mvc网站的方法 >

5060官方网址大全:IIS部署asp.net mvc网站的方法

2016-06-01 08:41:06

分类:5060官方网址大全

iis配置简单的ASP.NET MVC网站,供大家参考,具体内容如下编译器:VS 2013本地IIS:IIS 7操作系统:win 7MVC版本:ASP.NET MVC4sql server版本: 2008 r2打开VS 2013,新建一个MVC项目(Internet版的),然后在本地上运行测试下,应该可以。随后配置iis 7:看看simple_mvc 下的内容(如果这里没有配置正确,就会出现分析器问题!):先配置下目录浏览:由于是MVC项目,我们可以不用配置默认文档然后我们浏览下就可以了:IIS配置已有的ASP.NET MVC项目(精通asp.net mvc 4里的项目)此项目是<<精通ASP.NET MVC4>>里面的SportStore 网站,首先,需要在本地上架起sql server数据库.随后我们看看此项目的结构:三个文件夹:第一个是与数据库相关的,第二个是单元测试模块,第三个是UI模块。在这里需要注意,IIS中新建一个网站,指向的物理路径只需要是此项目中的webUI文件夹就行:剩下的都是一样的,运行结果:我在自己服务器上按照在本地IIS上部署的步骤成功部署了,因此,你按照这个部署就行,我就不举出服务器上部署的例子了,一样的。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文实例讲述了进度条在.net导入Excel时的应用,分享给大家供大家参考。具体实现方法如下:在程序开发过程中,往往会涉及到将Excel表格导入到数据库中的需求,而当excel表格内容很多的时候,我们往往会很难去捕捉它的执行过程进度和一些错误信息,此时我们便可以通过以下方法去解决这些难题,具体实现过程分析如下:一、建立一个web应用程序,在程序中首先创建一个html文件命名为ProgressBar,文件内容如下:复制代码 代码如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><script type="text/javascript">    //开始处理    function BeginTrans(msg) {        WriteText(msg);    }    //设置进度条进度    function SetPorgressBar(msg, pos) {        ProgressBar.style.width = pos + "%";        WriteText(msg + " 已完成" + pos + "%");    }    //处理结束    function EndTrans(msg) {        if (msg == "")            WriteText("完成。");        else            WriteText(msg);    }    //设置时间信息    function SetTimeInfo(msg) {        WriteText(msg);    }    // 更新文本显示信息    function WriteText(str) {        var strTag = '<font face="Verdana, Arial, Helvetica" size="2" color="#ea9b02"><B>' + str + '</B></font>';        document.getElementById("Msg2").innerHTML = strTag;    }</script></head><body><table align="center" style="height:100%">    <tr style="height:45%"><td></td></tr>    <tr>        <td>            <div id="ProgressBarSide" style="width:300px; color:Silver;border-width:1px; border-style:Solid;">                <div id="ProgressBar" align="center" style="height:20px; width:0%; background-color:#316AC5;"></div>            </div>        </td>        <td>        <div id="Msg2" style="height:16px;"></div>        </td>    </tr>    <tr style="height:50%"><td></td></tr></table></body></html>二、创建一个aspx页面,前后端代码分别如下:复制代码 代码如下://1.这里为了简便,我只写出了前端页面中的body体部分供参考:<form id="forms" runat = "server"><table align="center" style="height:100%">    <tr style="height:45%"><td></td></tr><tr>       <td align="center" style="height: 24px; width: 100px;"> Excel文件</td>       <td style="height: 24px">       <asp:FileUpload ID="fuGlossaryXls" runat="server"/>       <asp:Label ID="Label2" runat="server" Font-Bold="True" ForeColor="Red" Text="不能为空"                                                    Visible="False"></asp:Label></td>                                                    <td>        <asp:Button ID="Button1" runat="server" CssClass="mybotton" Text="导入" Width="60px" onclick="Button1_Click"/></td></tr></table></form>//2.后端部分代码如下: //这里是激发导入按钮点击事件        protected void Button1_Click(object sender, EventArgs e)        {            string cfilename = this.fuGlossaryXls.FileName;//获取准备导入的文件名称            if (cfilename == "")            {                Label2.Visible = true;                return;            }            else            {                Label2.Visible = false;            }            //////////////显示进度/////////////////////////////////////////////////////////////////////////////            DateTime startTime = System.DateTime.Now;            DateTime endTime = System.DateTime.Now;            // 根据 ProgressBar.htm 显示进度条界面            string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");            StreamReader reader = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312"));            string html = reader.ReadToEnd();            reader.Close();            Response.Write(html);            Response.Flush();            System.Threading.Thread.Sleep(1000);            string jsBlock;            // 处理完成            jsBlock = "<script>BeginTrans('正在加载数据,请耐心等待...');</script>";            Response.Write(jsBlock);            Response.Flush();             string fileName = fuGlossaryXls.PostedFile.FileName.Substring(fuGlossaryXls.PostedFile.FileName.LastIndexOf("\\") + 1);//获取准备导入文件的文件名             string suffix = fileName.Substring(fileName.LastIndexOf(".") + 1);//获取准备导入文件的后缀名                          System.Threading.Thread.Sleep(200);             int maxrows = 0;//用来记录需要加载的数据总行数             bool err = false;//用来记录加载状态             int errcount = 0;//用来记录加载错误行数             if (fuGlossaryXls.HasFile)//判断当前是否有选取文件             {                 if (suffix == "xlsx")                 {                     DataTable dt = ExcelImport(fileName);                     for (int i = 0; i < dt.Rows.Count; i++)                     {                         maxrows++;                     }                     //////////拓展////////////////////////////////////////////////////////                     //DataView myView = new DataView(dt);                     //myView.RowFilter = "name is not null";                     //int t = myView.Count;//获取满足RowFilter 条件的数据行                     //////////拓展////////////////////////////////////////////////////////                     string sqlconnect = "Data Source=.;Initial Catalog=test;User ID=sa;Password=123456;";//本地数据库链接                     SqlConnection conn = new SqlConnection(sqlconnect);                     SqlTransaction myTrans = null;                     try                     {                         SqlCommand cmd = new SqlCommand(null, conn);                         conn.Open();                         myTrans = conn.BeginTransaction();                         cmd.Transaction = myTrans;                         cmd.CommandText = "delete from test";                         cmd.ExecuteNonQuery();//首先执行清除表内容操作                         for (int j = 0; j < dt.Rows.Count; j++)//循环向数据库中插入excel数据                         {                             if (string.IsNullOrEmpty(dt.Rows[j][0].ToString()))                             {                                 jsBlock = "<script>EndTrans('第" + j.ToString() + "行数据写入错误。');</script>";                                 Response.Write(jsBlock);                                 Response.Flush();                                 err = true;                                 errcount++;                             }                             else                             {                                 cmd.CommandText = string.Format("insert into test values('{0}','{1}','{2}','{3}')", dt.Rows[j][0], dt.Rows[j][1], dt.Rows[j][2], dt.Rows[j][3]);                                 cmd.ExecuteNonQuery();//逐行向表中插入数据,注意字段的对应                             }                             System.Threading.Thread.Sleep(1000);                             float cposf = 0;                             cposf = 100 * (j + 1) / maxrows;                             int cpos = (int)cposf;                             jsBlock = "<script>SetPorgressBar('已加载到第" + (j + 1).ToString() + "条','" + cpos.ToString() + "');</script>";                             Response.Write(jsBlock);                             Response.Flush();                         }                         myTrans.Commit();//提交                     }                     catch (Exception ex)                     {                         myTrans.Rollback();//回滚                         ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('" + ex.Message + "');</script>");                     }                     finally                     {                         conn.Dispose();                         conn.Close();//关闭数据库连接                     }                 }                 else                 {                     ClientScript.RegisterStartupScript(GetType(), "", "alert('请选择Excel文件!');", true);                 }             }             else             {                 ClientScript.RegisterStartupScript(GetType(), "", "alert('请选择要导入的Excel!');", true);             }             if (!err)//加载中并没有出现错误             {                 // 处理完成                 jsBlock = "<script>EndTrans('处理完成。');</script>";                 Response.Write(jsBlock);                 Response.Flush();             }             else             {                 jsBlock = "<script>EndTrans('共有"+maxrows.ToString()+"条数据需要加载,其中 有"+errcount.ToString()+"条数据录入错误!');</script>";                 Response.Write(jsBlock);                 Response.Flush();             }             System.Threading.Thread.Sleep(1000);             endTime = DateTime.Now;//录入完成所用时间             TimeSpan ts1 = new TimeSpan(startTime.Ticks);             TimeSpan ts2 = new TimeSpan(endTime.Ticks);             TimeSpan ts = ts2.Subtract(ts1).Duration(); //取开始时间和结束时间两个时间差的绝对值             String spanTime = ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分" + ts.Seconds.ToString() + "秒";             jsBlock = "<script>SetTimeInfo('加载完成,共用时" + spanTime + "');</script>";             Response.Write(jsBlock);             Response.Flush();        }        public DataTable ExcelImport(string fileName) //建立Excel表链接,返回Excel表数据        {                //EXCEL 的连接串                string sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +                "Data Source=C:\\Documents and Settings\\Administrator\\桌面\\" + fileName + ";" +                "Extended Properties='Excel 8.0;IMEX=1';";                //string sConnectionString = "Microsoft.ACE.OLEDB.4.0;" +                 //"Data Source=C:\\Documents and Settings\\Administrator\\桌面\\" + fileName + ";" +                 //"Extended Properties='Excel 8.0;IMEX=1';";                OleDbConnection objConn = new OleDbConnection(sConnectionString);//建立EXCEL的连接//说明:程序运行到这里的时候有时会出错“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”,此时大多数情况下我们只需要去http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下载一个AccessDatabaseEngine.exe安装即可,原因在于你的office没有安装ACCESS组件                objConn.Open();                OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);                OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();                objAdapter1.SelectCommand = objCmdSelect;                DataSet objDataset1 = new DataSet();                objAdapter1.Fill(objDataset1, "XLData");                DataTable dt = objDataset1.Tables[0];                //DataView myView = new DataView(dt);                objConn.Close();//关闭EXCEL的连接                return dt;}三、项目执行过程中的效果图展示如下:      这个是程序测试中使用的excel表格实例。希望本文所述对大家的.net程序设计有所帮助。

ajax我们经常会用到的,但网上找到的大部份ajax兼容性都不强,下面自己改了一个不错的兼容性很强的ajax函数,同时后面介绍的jquery ajax 兼容性也很强。一、纯js实现的Ajax实例:复制代码 代码如下:var ajax = function() {};ajax.prototype = {    request: function(method, url, callback, postVars) {        var xhr = this.createXhrObject();        xhr.onreadystatechange = function() {            if (xhr.readyState !== 4) return;            (xhr.status === 200) ?                callback.success(xhr.responseText, xhr.responseXML) :                callback.failure(xhr,status);        };        if (method !== "POST") {            url += "?" + JSONStringify(postVars);            postVars = null;        }        xhr.open(method, url, true);        xhr.send(postVars);    },    createXhrObject: function() {        var methods = [            function() { return new XMLHttpRequest(); },            function() { return new ActiveXObject("Msxml2.XMLHTTP"); },            function() { return new ActiveXObject("Microsoft.XMLHTTP"); }        ],        i = 0,        len = methods.length;        for (; i < len; i++) {            try {                methods[i];            } catch(e) {                continue;            }            this.createXhrObject = methods[i];            return methods[i];        }        throw new Error("ajax created failure");    },    JSONStringify: function(obj) {        return JSON.stringify(obj).replace(/"|{|}/g, "")                    .replace(/b:b/g, "=")                    .replace(/b,b/g, "&");    }};二、jQuery $.ajax概述出现JQuery后,使AJAX变得更加容易实现。JQuery中,AJAX的高层实现主要有$.get(),$.post()等,下面详细介绍一下$.ajax()的使用方法1、请求页面AJAX.aspxjs代码如下:复制代码 代码如下:   <script type="text/javascript">        function Text_ajax()        {           $.ajax(           {              type:"GET",//通常会用到两种:GET,POST。默认是:GET              url:"ResponseText.aspx",//(默认: 当前页地址) 发送请求的地址              dataType:"html",//预期服务器返回的数据类型。              beforeSend:beforeSend, //发送请求              success:callback, //请求成功              error:error,//请求出错               complete:complete//请求完成                         });        }        function error(XMLHttpRequest, textStatus, errorThrown)        {              // 通常情况下textStatus和errorThown只有其中一个有值               $("#showResult").append("<div>请求出错啦!</div>");        }        function complete(XMLHttpRequest, textStatus)        {                $("#showResult").append("<div>请求完成</div>");        }        function beforeSend(XMLHttpRequest)        {              $("#showResult").append("<div>发送请求…..<div>");                       }        function callback(msg)        {              $("#showResult").append("<div>请求成功,回传数:"+msg+"<div>");                 }    </script>html代码如下:复制代码 代码如下:  <input value="Text_ajax函数" type="button" onclick="Text_ajax()"/>    <div id="showResult">    </div>响应页面JQueryAJAX.aspx后台代码:复制代码 代码如下:  protected void Page_Load(object sender, EventArgs e)    {        Response.Write("呵呵!测试成功啦!");    }三、关于jQuery Ajax中文乱码问题方法一:提交前采用encodeURI两次编码,记住一定是两次1.修改以下代码复制代码 代码如下:data:{id:1, type:encodeURI(encodeURI('商品'))}2.在后台action里要对取得的字符串进行decode复制代码 代码如下:String type = request.getParameter("type");type = URLDecoder.decode(type, "UTF-8");方法二:ajax配置contentType属性,加上charset=UTF-8在ajax方法中加入以下参数复制代码 代码如下:contentType: "application/x-www-form-urlencoded; charset=UTF-8″使用其它js框架或者xhr都是差不多,设置header中contentType即可,这里关键是charset=UTF-8,如果没有这个,是不行的,默认jQuery里的contentType是没有的.此外还需要补充一下jQuery里对参数已经进行了一次encodeURIComponent的处理。相比较而言,方法二在action里不需要进行decode,所以推荐使用此方法.希望本文所述对大家的Ajax程序设计有所帮助。

下面就是简单的事例: 1)引起异常的代码 复制代码 代码如下: protected void Button1_Click(object sender, EventArgs e) { int a = 5; int b = 2; int c; c = a / (b - 2); } 2)Global.cs中的代码 复制代码 代码如下: protected void Application_Error(object sender, EventArgs e) { //获取异常信息 string strError = Server.GetLastError().ToString(); //可以将错误信息通过log4net写入到文本或数库中,这里只写在页面上 Response.Write("错误信息:" + strError + ""); Server.ClearError(); } 通过上面的做法本人写了个Demo在F5调试的时个有时会在页上输出错误信息有时会先在异常的地方停止运行但再按下F5错误信息就出现了。在IE、FF、Chrome都一样的问题,有可能是浏览器缓存问题。之后自己将Demo发布后再浏览就一切正常。

一、什么是跨域我们先回顾一下域名地址的组成:http:// www . google : 8080 / script/jquery.js      http:// (协议号)               www  (子域名)             google (主域名)               8080 (端口号)script/jquery.js (请求的地址)* 当协议、子域名、主域名、端口号中任意一各不相同时,都算不同的“域”。* 不同的域之间相互请求资源,就叫“跨域”。比如:http://www.abc.com/index.html 请求 http://www.def.com/sever.php二、处理跨域的方法1 -- 代理(这个方法比较“笨” 故不做详细介绍)比如在北京(www.beijing.com/sever.php)和上海(www.shanghai.com/sever.php)各有一个服务器,北京的后端(www.beijing.com/sever.php)直接访问上海的服务,然后把获取的响应值返回给前端。也就是北京的服务在后台做了一个代理,前端只需要访问北京的服务器也就相当与访问了上海的服务器。这种代理属于后台的技术,所以不展开叙述。三、处理跨域的方法2 -- JSONP假设在http://www.aaa.com/index.php这个页面中向http://www.bbb.com/getinfo.php提交GET请求,那么我们在www.aaa.com页面中添加如下代码:  var eleScript= document.createElement("script"); //创建一个script元素  eleScript.type = "text/javascript"; //声明类型、  eleScript.src = "http://www.bbb.com/getinfo.php"; //添加src属性 引入跨域访问的url  document.getElementsByTagName("HEAD")[0].appendChild(eleScript); //在页面中添加新创建的script元素当GET请求从http://www.bbb.com/getinfo.php返回时,可以返回一段JavaScript代码,这段代码会自动执行,可以用来负责调用http://www.aaa.com/index.php页面中的一个callback函数。看下面一个列子:在www.aaa.com页面中:<script>  function jsonp( json ){    document.write( json.name ); //输出周星驰}<script><script src="http://www.bbb.com/getinfo.php"></script>在www.bbb.com页面中:  jsonp({ "name":"周星驰","age":45 });也就是在www.aaa.com页面中声明,在www.bbb.com页面中调用。但是JSONP只支持 “GET” 请求,但不支持 “POST” 请求。三、处理跨域的方法2 -- XHR2(推荐方法)“XHR2” 全称 “XMLHttpRequest Level2” 是HTML5提供的方法,对跨域访问提供了很好的支持,并且还有一些新的功能。* IE10一下的版本都不支持* 只需要在服务器端头部加上下面两句代码:  header( "Access-Control-Allow-Origin:*" );  header( "Access-Control-Allow-Methods:POST,GET" );关于 “XHR2” 的更多信息大家可以查看官方文档,在这里就不详细叙述了,总之这是这个很好用的方法。以上所述就是本文的全部内容了,希望大家能够喜欢。

焦点访谈

最新最热的文章

更多 >

COPYRIGHT (©) 2017 Copyright ©2017 5060网址大全 网站地图

联系我们

827570882

扫描二维码分享到微信