c#总结4

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}a

12,查看服务器,可否连接。qwinstaserver192.168.1.15

13,使用 @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,浏览器调试:http
Headers: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.Transfer
HttpCookies 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,替换数据库:导入表dmp
3,执行sql

29】数据视图
使用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' οnkeyup='if(isNaN(value))execCommand('undo')' onafterpaste='if(isNaN(value))execCommand('undo')'></input></td></tr>")
  }

37】
 οnclick='jian(this)' 这样写,就可以轻松获取该对象。
 
38】$判读变量s是否定义
 console.log(typeof ($("#txttbunit7").val()) != "undefined")

39】服务器控件到浏览器,要解析的,注意$取标签的时候,要为解析后的标签。

40】js保留两位小数
num.toFixed(2) (强制两位)
num必须为数值类型。否则就要parseFloat(num)转一下。
js判断是否为数字:if (!isNaN(z))

41】防止异步丢失js
Sys.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>
记得加上<scriptmanager
57】
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 ,一般是这样写οnclick="xxx();return false;".

65】
c#命名规范
私有变量:
private int _userId

如public void CreateCache(int cacheSize)
传入的数据是bytes, KB, MB 还是GB?
改成public void CreateCache(int cacheSize_mb)
变量:
string str
int int
Object obj
Double dbl
Decimal dec
DateTime dtm
Boolean bln
Array arr
DropDownList drop

66】
js调试eval时,
如果console出来的是黑体的字符串,那么就要解析为对象。
如果需要的是data[]则要eval,且传来的对象要有[]号

67】c# &&和&的区别。如果有dt不存在。则
if(dt!=null && dt.Rows.Count>0){}  只判断dt!=null
if(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)各页面都继承: BasePage

75】
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】
数组:
集合:
泛型>>List			
ArrayList
Hashtable
泛型>>Dictionary

86】
        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=abcda
sum1 = sum1.Substring(sum1.IndexOf("a")+1, sum1.IndexOf("a", sum1.IndexOf("a") + 1) - sum1.IndexOf("a")-1);
返回bcd

101】
package不仅能把存储过程分门别类,而且在package里可以定义公共的变量/类型

102】
单选框radio分组取决于相同的name 
<input name="Fruit" type="radio">

103】
当页面载入时执行:
. OnInit
. OnLoad
. Button_Click

104】保存会话状态
 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 ='1
111】
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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值