c#总结4
来源:互联网 发布:centos 6.8安装 分区 编辑:程序博客网 时间:2024/06/13 21:55
1,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。(int)3.3=3 写法简单对于double类型适合。int.Parse("3.3")Convert.ToInt32(null)返回0总结:(1)Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.(2)Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.(3)Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string).2,int16:-32768 到 32767 适用于数值小的情况。65536等于2的16次方。int32:-2,147,483,648 到 2,147,483,647 3,前台使用后台变量时。变量必须是在方法前就声明了。4.逻辑&&优先于逻辑||。与先于或。5.后台绑定数据。<%=str%>绑定后台有声名的变量。<%#str%>绑定后台数据必须调用DataBind()方法。常用于控件的绑定。批处理命令:batch简写:bat是一堆DOS命令的集合。5,服务器控件属性(如Text=)不能%=year% 绑定。不被解析。可以用下方法:%# %只有执行了相应控件的DataBind方法,前台代码中这些控件中使用%# %的绑定才会发生6,如果判断一个字符串是否是空串,使用if(s==String.Empty)和if(s==””)的效率是一样的,但是最高效的写法是if(s.Length==0)7,【updatepannel导致js失效】$(function () { Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, e) { })})9,将元素display none和block清除该元素内容,且不占用域的空间。将元素visibility hidden和visible隐藏该元素内容,但占用域的空间。10,datatable string maxValue = dtsjz.Compute(max(zrs), ).ToString(); string minValue = dtsjz.Compute(min(zrs), ).ToString(); 11,此时样式只能用单引号。formhtml.AppendFormat(trtd style='text-aligncenter;'a style=color#337AB7{0}a12,查看服务器,可否连接。qwinstaserver192.168.1.1513,使用 @register 指令。 通过声明将自定义 asp.net 服务器控件添加到页或用户控件。 16】notpad想替换换行符:\r\n 或者正则中\s+17】同一个DataTable。两次使用,排序不同。重排序。可以 DataRow[] dataRows = dt.Select(" 1=1", " totals asc "); DataTable dtemp = dataRows[0].Table.Clone();复制一份表结构相同的表。 foreach (DataRow dr in dataRows) { dtemp.ImportRow(dr); }18,浏览器调试:httpHeaders:Header面板列出资源的请求url、HTTP方法、响应状态码、请求头和响应头及它们各自的值、请求参数等等Preview:预览面板,用于资源的预览。Response:响应信息面板包含资源还未进行格式处理的内容,如常见的json数据.Cookies:cookies面板显示该资源请求中所传输的所有cookies信息,并以表格形式展示。Timing:资源请求的详细信息18】double p1 = 314;Response.Write(String.Format("{0:F2}", p1));带1个格式参数。19】操作dataTable()提取一个方法:参数有dt,字段,怎样操作(比如都÷15)public DataTable CaoZuo(DataTable dt,string str,string str2){try{foreach(DataRow dr in dt.Rows)//遍历每行{foreach(string zd in str.Split(','))//遍历每个字段并重新赋值。{if(dt.Colums.Contains(zd)){dr[zd]=String.Format("{0:F2}",double.Parse(dr[zd].ToString())/15);}}}}catch{}return dt //返回该表。}20】<%%>里可以写程序控制语句如:<%if(true){%>21】页面传值:QueryString Cookie Session Application PostBackUrl Server.TransferHttpCookies cookies=Request.Cookies["user_cookie"];一般来说,保存用户密码常见的两种方式是:session和cookie 23】乱码问题:按utf8编码HttpUtility.UrlEncode(title, System.Text.Encoding.UTF8)24】打印对象:console.log()26】if() 和if(){}加大括号就会执行大括号里面所有的代码,不加大括号就会只会执行if()下的第一句代码。27】async. 默认是true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。若要将其设置为false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。28】部署系统1,替换网页:iis中2,替换数据库:导入表dmp3,执行sql29】数据视图使用DataView操作离线数据库更加方便DataView dv = dt_temp.DefaultView; dv.Sort = "TOTAL1 DESC"; DataTable dt = dv.ToTable();31】后台js代码块。第四个参数为代码块。ScriptManager.RegisterClientScriptBlock(this.Page, typeof(Page), null, strN, false);如:strN="$.jBox.prompt('删除失败!该节点含子节点,无法删除,请从最下级子节点删起!', '提示', 'error', { closed: function () { return false;}});";32】SCRIPT5007: 无法获取未定义或 null 引用的属性“name”可能是ajax后台传数据时,格式不对。(多个逗号啥的)34】$清除html元素.remove() 和.empty() <p>abc</p>$("p").empty() ==== <p></p> $("p").remove() ==== 把其从dom中删除,而不会保留其所占的位置 35】 $('#startdate').keydown(function (e) { var key = e.which; //which属性指示了按了哪个按键。 if (key==8) { if ($('#startdate').val().length < 4) { $('#startdate').datetimepicker('hide'); } else { $('#startdate').datetimepicker('show'); } } else { if ($('#startdate').val().length < 3) { $('#startdate').datetimepicker('hide'); } else { $('#startdate').datetimepicker('show'); } } })36】$增加标签 function jiahao() { //console.log($("tr #jiahao")); $("#jiahao").parent().after("<tr><td class='form_title'> 投标单位:</td><td><input type='text' style='width:90%' ></input></td><td class='form_title'> 投标联系电话:</td><td><input type='text' style='width:90%' MaxLength='15' onkeyup='if(isNaN(value))execCommand('undo')' onafterpaste='if(isNaN(value))execCommand('undo')'></input></td></tr>") }37】 onclick='jian(this)' 这样写,就可以轻松获取该对象。 38】$判读变量s是否定义 console.log(typeof ($("#txttbunit7").val()) != "undefined")39】服务器控件到浏览器,要解析的,注意$取标签的时候,要为解析后的标签。40】js保留两位小数num.toFixed(2) (强制两位)num必须为数值类型。否则就要parseFloat(num)转一下。js判断是否为数字:if (!isNaN(z))41】防止异步丢失jsSys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, e)42】隔行颜色<tr style='background-color:<%#(Container.ItemIndex%2==0)?"red":"green"%>'> <td><%#Eval("UID")%></td> </tr>43】一】后台运行js方法ScriptManager.RegisterStartupScript(Page, typeof(string), "Sort", "Getcss();", true);二】在js中。Getcss为方法的名称。Sys.WebForms.PageRequestManager.getInstance().add_endRequest(Getcss);44】function Getcss() { debugger var xsw = 1; $(".table_all_bg td").each( function () { var z = $(this).html(); if (!isNaN(z)) {//数字 //console.log(z); if (z.trim() != "") { if (z.indexOf(".") != "-1") { //debugger var tmp = String(z).split(".")[1].trim().length; if (tmp > xsw) { xsw = tmp; } } z = parseFloat(z); $(this).html(z.toFixed(2)); } if (z.trim()=="") { } $(this).css({ "text-align": "right", "padding-right": "5px" }); } else {//非数字 $(this).css({ "text-align": "left", "padding-left": "8px" }); } } )}45】视图CREATE [OR REPLACE] VIEW view_name AS SELECT 查询46】prevAll() 获得当前匹配元素集合中每个元素的前面的同辈元素。47】求平均数。分析函数sum(area)*100/sum(sum(area)) over()over() 是分析函的格式。用于标识分析函数,否则查询分析器不能区别sum()聚集函数和sum()分析函数48】c#强制两位小数:.ToString("0.00")49】做到程序数据分离。即使没数据,也不能出现黄页。51】后台链接Response.Redirect("SelectSystem.aspx", true);替换原窗口Response.Write("<script language='javascript'>window.open('SelectSystem.aspx');</script>");保留原窗口52】利用这种方法声明多个变量并统一赋值。string mm, nn, oo;mm = nn =oo= string.Empty;53】销毁session,用方法:session.invalidate();54】$设置鼠标悬浮可见思路之一:设置透明度:opacity样式。55】把公共的Html部分写成.ascx。可以公用在很多aspx里。56】//作用是,只让控件局部刷新AsyncPostBackTrigger或者全局刷新PostBackTrigger。<asp:UpdatePanel ID="up" runat="server"> <Triggers><asp:PostBackTrigger ControlID="btn_search" /><asp:AsyncPostBackTrigger ControlID="btnDelete" /> </Triggers></asp:UpdatePanel>记得加上<scriptmanager57】window.location.href = "https://www.baidu.com/";58】href="javascript:void(0)"javascript:是伪协议,表示url的内容通过javascript执行。void(0)表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作,具体的操作交给链接的onclick事件处理59】setTimeOut的用法function myF() { setTimeout(function () { $("#right_sub").css("display", "none"); }, 1000); }60】.push()var a = [];// 创建数组a.push(1); // 添加到最后a.unshift(); // 添加到第一个位置62】vs功能视图-输出。该功能可以查看编译或发布时输出的详细信息。63】变量的索引值foreach(var item in arr) { int index = arr.indexOf(item); //index 为索引值 }64】如果在ie下遇到 点击一个链接出现两个页面。我们知道链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接),如果不想执行href 属性下的动作执行,onclick 需要要返回 false ,一般是这样写onclick="xxx();return false;".65】c#命名规范私有变量:private int _userId如public void CreateCache(int cacheSize)传入的数据是bytes, KB, MB 还是GB?改成public void CreateCache(int cacheSize_mb)变量:string strint intObject objDouble dblDecimal decDateTime dtmBoolean blnArray arrDropDownList drop66】js调试eval时,如果console出来的是黑体的字符串,那么就要解析为对象。如果需要的是data[]则要eval,且传来的对象要有[]号67】c# &&和&的区别。如果有dt不存在。则if(dt!=null && dt.Rows.Count>0){} 只判断dt!=nullif(dt!=null & dt.Rows.Count>0){} &前后的bool都做判断。且在做第二个判断时出错。69】aspx页面必须加上<%@ Page %>asp.net 的头信息。用于说明编程语言(C# or VB.NET)、代码分离等页面属性70】asp.net的 事件模型 要求通过委托实现页面与后台事件的结合AutoEventWireup="true"触发页面的事件时(如按钮单击),也会先执行Page_Load方法(只是这个时候的isPostback=true),接着再去执行对应的事件71】Ctrl+Shift+U: 全部变为大写对于sql语句可以用。以优化速度。72】Ctrl+Shift+V: 剪贴板循环 Ctrl+E,S: 查看空白Ctrl+E,W: 自动换行 ctrl+减号:回退到光标上一次的位置73】主键是为了保证数据不重复外键是为了保证数据完整 可以不设置74】配置全局变量1)在web.config中配置后<add key="DqName" value="贵阳市"/>2)在父类中(如BasePage)定义静态变量Dqname public static string DqName = System.Configuration.ConfigurationManager.AppSettings["DqName"].ToString();3)各页面都继承: BasePage75】vs添加现有项时容易出错:后台找不到前台控件id.desinger.cs文件没生成。76】外部js文件取后台数据。用ajax()77】ScriptManager.RegisterClientScriptBlock(控件,类型,标识符,脚本,是否带标签(<script></script>));78】添加端口:防火墙》》入站规则》》添加79】:USERCODE指的是变量。 where USERCODE = :USERCODE where USERCODE = 'admin' 80】vs2010发布的时候丢失部分文件 因:打包/发布设置了》仅限运行此应用程序所需文件。 若要添加则可以,选中或多选 右键,属性 生成操作 => 内容81】.com 顶级域名baidu.com 一级域名www.baidu.com 二级域名bbs.baidu .com 二级域名82】windows搜索可以这样:.*scc.vssscc .scc .vspscc这些结果。83】删除数据库表的时候一定小心:级联删除Cascade级联删除。确定没有级联删除方可备份删除,或者备份全。84】datatable排序DataView dv = dt.DefaultView; dv.Sort = "ID"; dtCopy = dv.ToTable(); 85】数组:集合:泛型>>ListArrayListHashtable泛型>>Dictionary86】 public void Write(string path) { FileStream fs = new FileStream(path, FileMode.Create); StreamWriter sw = new StreamWriter(fs); //开始写入 sw.Write("Hello World!!!!"); //清空缓冲区 sw.Flush(); //关闭流 sw.Close(); fs.Close(); }
88】如果用了服务器控件,比如<asp:Button ,若不在<asp:UpdatePanel中,则每次点击都会触发后台的Page_Load()89】Redis是一个开源的使用ANSI C语言编写的Key-Value数据库99】btn_Add.Visible = false;后台清除控件100】sum1=abcdasum1 = sum1.Substring(sum1.IndexOf("a")+1, sum1.IndexOf("a", sum1.IndexOf("a") + 1) - sum1.IndexOf("a")-1);返回bcd101】package不仅能把存储过程分门别类,而且在package里可以定义公共的变量/类型102】单选框radio分组取决于相同的name <input name="Fruit" type="radio">103】当页面载入时执行:. OnInit. OnLoad. Button_Click104】保存会话状态 Public.USERSTATE UserState = new Public.USERSTATE();//new个对象以存储用户信息。 UserState.M_User = m_user;;//把获取的用户信息赋值给UserState.M_User Session.Add("UserState", UserState);//把用户信息保存到Seesion里并命名为UserState。 父页面中: protected USERSTATE UserState;声明字段以保存会话信息。方便以后使用。 UserState = Session["UserState"] as USERSTATE;//把Seesion中的这个信息强转为类型USERSTATE。 105】repeater中 在每项被绑定数据后触发的事件 OnItemDataBound="GeneralRepeater_OnItemDataBound" 106】 c#删除总结: 前:<input name="checkBox" value="<%#Eval("wtid") %>" /> 后: string DelLists = Request.Form["checkBox"]; 后台Request.Form["checkBox"];获取到name属性为"checkBox"的且被选中的checkbox的value值。 107】 无法使用前导 .. 在顶级目录上退出 使用虚拟路径~/login.aspx 虚拟路径: ~/images/1.jpg:在文件的子目录里面找到images里面的1.jpg ../images/1.jpg:在文件的父级目录里面找到images里面的1.jpg 108】上传附件 name="FileUpload2"HttpContext.Current.Request.Files["FileUpload2"];如果后台获取不到,可能是form嵌套问题。 110】sql注入1 or mk=2或1' or zt ='1111】webForm的,输出内容Response.Write() 112】与 path 相对应的物理文件路径。string fullpath = Request.MapPath("~\\TestFile.txt");错误捕捉:Request.AppRelativeCurrentExecutionFilePath显示找不到文件的具体信息。 113】assembly表示控件所在的程序集名称,namespace表示控件的命名空间,tagPrefix就是我们所要设置的项了<%@ Register TagPrefix="Webdiyer" Namespace="Wuqi.Webdiyer" Assembly="AspnetPager" %> 114】"../" 相对当前(根据不同的语境,当前是不同的)的上一级目录"./" 就是当前目录"~/" 当前项目的根路径,只在服务器端有效。115】asp.net 支持三种开发模式Web Pages:是最简单的 ASP.NET 网页开发编程模型。单一网页。MVC:Web-Forms:117】紧耦合:118】c#后台获取根目录。string RootPath = HttpContext.Current.Request.PhysicalApplicationPath;//可在类中使用。等于string RootPath = Server.MapPath("~/");
阅读全文
0 0
- c#总结4
- C#基础学习4----总结
- C# 4-5章总结
- C#总结
- C#总结
- c#总结
- C#总结
- C#总结
- c#总结
- c#总结
- C#总结
- C#总结
- C#总结
- C#总结
- C#总结
- C#总结
- C#总结
- C#总结
- Android中版本更新(使用HttpURLConnection网络请求)
- Android使用Mina建立长连接
- 剑指offer-23:二叉树的层次遍历
- 浏览器内部工作原理
- 【Bitmap算法浅谈篇】Mysql应用Bitmap
- c#总结4
- vue跨域请求
- 机器学习实践(一)
- C
- 使用欧几里得算法求两个自然数的最大公约数
- Linux-破晓
- 用SQL语句,删除掉重复项只保留一条
- 二叉搜索树
- webView 离线缓存机制