1、(dropdownlist.Items.FindByValue("1")).Selected = true ;//设为默认值
2、javascript母版获取id
var obj1 = document.getElementById("<%=TextBox1.ClientID%>");
3、 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
//
//string ID= GridView1.Rows[e.NewEditIndex].Cells[0].Text; //GridView1_RowEditing中取某列的值,
string ID = GridView1.DataKeys[e.NewEditIndex].Value.ToString(); //取主键的值
}
4、
//动态加控件
protected void Page_Load(object sender, EventArgs e)
{
//添加
TextBox tb =new TextBox();
tb.ID = "aa";
Panel1.Controls.Add(tb);
}
protected void Button1_Click(object sender, EventArgs e)
{
//取值
//母版
ContentPlaceHolder cph = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder3");
Panel pan = (Panel)cph.FindControl("Panel1");
TextBox t1=(TextBox) pan.FindControl("aa");
Response.Write(t1.Text);
}
5、在类中Server.MapPath如何使用?
System.Web.HttpContext.Current.Server.MapPath(".")
6、当页面PostBacks的时候,保持滚动条的位置。
<%@ Page Language="C#" MaintainScrollPositionOnPostback="true" AutoEventWireup="true" CodeFile="" Inherits="" %>
7、当页面加载的时候,控件获得默认焦点
<form id="frm" DefaultFocus="txtUserName" runat="server">
8、当用户按下Enter键的时候,设置默认触发按钮。
<form id="frm" DefaultButton="btnSubmit" runat="server">
9、 //获取当前页传输控件的页
if (Page.PreviousPage != null)
{
string a = (TextBox)Page.PreviousPage.FindControl("TextBox!").text;
}
10、加在<head>外 <!-- #Include File="border.html" -->
两个页中的id不能重复等
11、
<asp:Label ID="Label2" runat="server" ie:Text="IE 浏览器" mozilla:Text="Mozilla 或 Firefor 浏览器" Style="position: relative"></asp:Label><br />
12. //Url传递中文参数解决方案
//解码html
// Response.Write(Server.HtmlDecode("aaaaaaaaaaaaaaaaaaaaa<font >ass ssssss</font>"));
// <%# Server.HtmlEncode((string)DataBinder.Eval(Container.DataItem,"内容")) %>
//Url传递中文参数解决方案
a href="Admin_SmallSort.aspx?iProductBigSort_ID=<%# Eval("iProductBigSort_ID")%>&sProductBigSort=<%# Server.UrlEncode(Eval("sProductBigSort").ToString())%>">
13. //获取上一个页面控件的值
if (Page.PreviousPage!=null)
{
TextBox a = (TextBox)Page.PreviousPage.FindControl("TextBox1");
a.Text;
}
14。 使用 foreach 显示整数数组的内容
int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };
foreach (int i in fibarray)
{
System.Console.WriteLine(i);
}
15. 执行break语句,跳出swith语句。如果没有break语句,所以的语句都会执行。
string sWork = "a|b|c";
string[] Gz=sWork.Split(new char[] {'|'});
foreach (string s in Gz)
{
System.Console.WriteLine(s);
}
只能在 while、do...while、for 或 for...in 循环内使用 continue 语句。执行 continue 语句会停止当前循环的迭代,并从循环的开始处继续程序流。这将对不同类型的循环有如下影响:
16.
//比较日期大小
DateTime t1 = DateTime.Now; //
DateTime t2 = Convert.ToDateTime("9:10:59");
int a = DateTime.Compare(t1, t2); //a=1,t1大
//从此实例中减去指定的日期和时间Subtract
DateTime t1 = System.DateTime.Now; //系统时间
DateTime t2 = Convert.ToDateTime(Row["dtime"].ToString()); //最后在线时间
TimeSpan d3= t2.Subtract(t1);
int a = d3.Minutes; //t2与t1的差几分钟 获取由当前 TimeSpan 结构表示的整分钟数。
17.//DropDownList1 添加数据
DropDownList1.Items.Add(new ListItem("02", "02"));
DropDownList1.Items.Add(new ListItem( string Text,string Value))
18. 先提示后跳转
Response.Write("<script>alert('aa');window.location=right1.aspx</script>")
// Response.Redirect("~/Login.aspx",true); true -不执行后面的内容(但alert不行) ,false则执行,
19.
一个页面,该页面上两个按钮和一个容器控件(Panel),一按钮为生成控件,一按钮名为取值
一个用户控件,该控件上一个TextBox控件
-------
点生成按钮,生成十个用户控件,
点取值按钮,取刚生成的这十个用户控件中,TextBox的值
其中,生成十个用户控件代码,
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 9; i++)
{
Control c = Page.LoadControl("WebUserControl.ascx");
this.Panel1.Controls.Add(c);
}
}
取值时,不会了
protected void Button2_Click(object sender, EventArgs e)
{
//取刚生成的这十个用户控件中的,TextBox的值??????
}
1.foreach 循环遍历窗体所有控件
2.FindControl("");
20、设置了50M ~~最大上传量,90秒上传时间
<system.web>
<httpRuntime maxRequestLength="50000" useFullyQualifiedRedirectUrl="false"
executionTimeout="90"
/>
<compilation debug="true"/>
21 ‘在绑定数据时经常会用到这个句程序:<%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%>
今天又学到一种,而且微软也说这种方法的效率要比以上两种高。
<%# ((DataRowView)Container.DataItem)["xxxx"]%>
很有用的,这样可以在前台页面做好多事情了。
还要记住要这样用必须要在前台页面导入名称空间System.Data,否则会生成错误信息。
<%@ Import namespace="System.Data" %>
这种用法其实和<%# ((DictionaryEntry)Container.DataItem).Key%>是一个道理。
22 //比较两个字符串是否相等,true表示不区分大小写
int i = string.Compare("aaaaaaa", "aaaaaaa", true);
if (i == 0)
{
Response.Write("相等");
}
if (i==1)
{
Response.Write("不相等");
}
23、字符串加密
public string EncryptPassword(string PasswordString,string PasswordFormat )
{
if (PasswordFormat="SHA1")
{
EncryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"SHA1");
}
else if (PasswordFormat="MD5")
{
EncryptPassword=FormsAuthortication.HashPasswordForStoringInConfigFile(PasswordString ,"MD5");
}
else
{
}
}
public string md5(string str, int code)
{
if (code == 16) //16位MD5加密(取32位加密的9~25字符) SHA1还可以换成MD5
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1").ToLower().Substring(8, 16);
// md5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1").ToLower().Substring(8, 16);
}
if (code == 32) //32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1").ToLower();
// md5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1").ToLower();
}
//必须每种情况都要有返回值。如果code<>16,32 则返回的值
return "a";
}
24 // String.Format()可以替换相关项,代码如下,其中{}为此方法认别的替换符:
//单个字符替换如下:
String RepString = String.Format("Format 是C#String类常用功能之一,{0}","谢谢观赏!");
//RepString 的值为:Format 是C#String类常用功能之一,谢谢观赏!
//两个或者两个以上
String RepString = String.Format("String.Format(),{2},{1},{0}","谢谢观赏!","我们在学习和工作中要灵活运用","是C#常用方法之一");
//RepString的值为:String.Format(),是C#常用方法之一,我们在学习和工作中要灵活运用,谢谢观赏!
//总结:前面有几个{},后面就跟几个参数。以此类推,后面的参数可以是无限。
25 //判断字符串是否为空String.IsNullOrEmpty(str) == True 则说明字符串为空(null 和 "");
//string.IsNullOrEmpty("");
TextBox1.Text = "aaa";
if (TextBox1.Text == string.Empty) // TextBox1.Text=null 或 ="" 都为true
{
Response.Write("空");
}
else
{
Response.Write("非空");
}
26 //指定索引位置插入一个指定的 String 实例
string a = "aaa";
string b=a.Insert(1, "b");
Response.Write(b); //abaa