编程知识(日常积累)

GridView控件:BoundField简单的绑定字段 Container.DisplayIndex
获取Repeater, DataList中的索引号行号,序号),可以使用Container.ItemIndex来取。
而获取获取Gridview中的索引号,则需要用Container.DataItemIndex来取。
 

TemplateField  可以添加ItemTemplate绑定一些控件或者进行一些计算
~ 运算符只能为服务器控件识别
URL中编码错乱的时候可以用:
编码 HttpUtility.UrlEncode或Server.UrlEncode   解码 HttpUtility.UrlDecode活Server.UrlEncode 

Server.Htmlencode的作用:是把某些代码转换成html格式的
在界面中获取不到控件,主要是因为id值在客户端已经发生了变化,注意:在某些页面中会出乎意料的为原来id、name,可能是隐藏控件没有改变其ID吧

Request.Form("id")一定得到的是以post提交的input裏输入的值
Request.QueryString("id")得到的一定是以get方式提交的值
Request("id") ,get比post优先级高,得到的是get值

asp.net控件的Visible属性设置后,在客户端没有生成该控件,要在客户端能看到应该使用style="display:none"进行设置.
asp.net真好,单击事件还分了客户端/服务器. 解决了我这个纠结的问题.

TextBox_GoTo.Attributes.Add("onkeydown", "SubmitKeyClick('Button_UserSearch');");   //回车触发指定默认按钮的事件
string.split('要依据分割的char字符')参数为单引号

id  clientID    区别;

Html控件id、Name区别:

window.location.href="#flagKeyword" 可以导向本页的某个地方#flagKeyword表示某个控件的Name属性,<a> name="PageBottom"></a>一样适合。
自定义控件不能加Title属性
Response.Redirect("")是服务器端跳转,加上this.ClientScript.RegisterStartupScript 是不会执行的。

如果在含有</frame>的窗口中用Response.Redirect("www");只能在子窗口中打开页面。用下面的JS可以达到效果。
response.write ( " <script> self.parent.location.href= 'Index.asp'; </script> ")
 打开一个新窗口response.write   " <script> window.open( 'index.asp ') </script>

 sqlparameter赋值的时候最好不要添加字段大小限制,有些类型参数是必须填写的,image类型的时候费了我很多时间才名称数据源在保存的时候出错。

Asp.net中所有的用户将使用同一个static变量,ViewState对象可以解决这样的问题。写入:ViewState["dbTab"]=dtOrders;//存放DataTable型对象dtOrders

<a >标签在调用javascript时,如果传递参数this,不是传递的控件Obj而是传递的Href的值。千万注意!

event.returnValue=false; 和window.event.returnValue = false;是不同的,注意event.cancelBubble=true;的一些用法

数据库联合查询的时候一定要注意where条件的作用范围,分页的时候要注意排序字段是否唯一的情况,注意三种分页技术的区别和注意事项。

c# 可空类型? 引用类型不能设置成可空类型,只有值类型才可以。而且初始化一定要赋值。HasValue转门判断是否有值。int? a=strInt ?? 100  strInt为空,则a=100

创建数组功能的三种方法:
1:List list = new ArrayList()    2:List<MyUser> listUsers = new List<MyUser>() 3:MyUser[] a=newMyUser[] 4:DataTable aa=new DataTable

c#字典

1、HashTable 引用的是System.Collections 

2、NameValueCollection允许重复。

3、Dictionary<string,object> dic=new Dictionary<string,object>

4、KeyValPair<string,Object> 

5、SortedList 集合

Response.End、Response.Redirect 或 Server.Transfer 时出现 ThreadAbortException解决办法:

   对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行。

       对于 Response.Redirect,请使用重载Response.Redirect(String url, bool endResponse),该重载对endResponse 参数传递false 以取消对Response.End 的内部调用。例如:Response.Redirect ("nextpage.aspx", false);如果使用此替代方法,将执行Response.Redirect 后面的代码。对于Server.Transfer,请改用Server.Execute 方法。
3秒钟的延迟:System.Threading.Thread.Sleep(3000);
 location.reload(bool) 和location.replace(URL)区别 后者:不能通过“前进”和“后退”来访问已经被替换的URL,location.replace(location.href)可以解决method="post"的过期问题。
asp.net引用控件两种类型:
      自定义控件:<%@ Register Src="../UserCon/foot.ascx"TagName="foot"TagPrefix="uc3" %>
      其他dll文件:<%@ Register Assembly="FredCK.FCKeditorV2"Namespace="FredCK.FCKeditorV2"TagPrefix="FCKeditorV2" %>

IFrame 设置成透明色 allowTransparency="true"

jquery获取radio的值: $('input[name="testradio"]:checked').val(); $('input:radio:checked').val(); $('input[@name="testradio"][checked]');
$('input[name="testradio"]').filter(':checked');  $('input[name="testradio"]:eq(1)').val()

JavaScript获取元素方法:1、document.forms[0]   2、document.InputForm 3、document.all 4、document.forms[0].elements

 WdatePicker({ minDate: '%y-%M-%d', maxDate: '#F{$dp.$D(\'etime\')||\'2030-12-31\'}', dateFmt: 'yyyy-MM-dd HH:mm:ss', isShowClear: true });
MVC实体映射是,将""解析成了Null解决方案如下:[DisplayFormat(ConvertEmptyStringToNull = false)]

 多线程修改界面元素报错解决方案:Control.CheckForIllegalCrossThreadCalls = false;



抽象类的成员可以具有访问级别,而接口的成员全部public级别
抽象类可以包含字段,而接口不可以,
抽象类可以继承接口,而接口不能继承抽象类
抽象类的成员可以具有具体实现,而接口不行
抽象的子类可以选择性实现其基类的抽象方法,而接口的子类必须实现

你可能感兴趣的:(编程知识(日常积累))