ASP.NET常用语句1--20条,(很实用的)
1.//弹出对话框.点击转向指定页面
Response.Write(" <script>window.alert('该会员没有提交申请,请重新提交!') </script>");
Response.Write(" <script>window.location='http://www.51aspx.com/bizpulic/upmeb.aspx' </script>");
2.//弹出对话框
Response.Write(" <script language='javascript'>alert('产品添加成功!')
每次看到这样的代码就想踢人,幸好你不是我的手下。
3.//删除文件
string filename ="20059595157517.jpg";
pub.util.DeleteFile(HttpContext.Current.Server.MapPath("../file/")
+filename);
4.//绑定下拉列表框datalist
System.Data.DataView dv=conn.Exec_ex("select -1 as code,'请选择经营模式'
as content from dealin union select code,content from dealin");
this.dealincode.DataSource=dv;
this.dealincode.DataTextField="content";
this.dealincode.DataValueField="code";
this.dealincode.DataBind();
this.dealincode.Items.FindByValue(dv[0]["dealincode"].ToString
()).Selected=true;
最后一行使用下面的代码是不是更好:
DropDownList的SelectedValue是只读的,你不能用它来指定DropDownList的选中项
用FindByValue没有错,但是要先判断一下是否为null:
C# codeListItem li=this.dealincode.Items.FindByValue(dv[0]["dealincode"].ToString());if(li!=null)
li.Selected=true;
5.//时间去秒显示
<%# System.DateTime.Parse(DataBinder.Eval
(Container.DataItem,"begtime").ToString()).ToShortDateString()%>
DateTime.ToShortDateString() 能不能去秒大家回去试验一下
如果不能,恭喜你,你不会再相信这样的鬼代码。如果能,打开Windows的控制面板,找到“语言和文化”选项,试着去修改短日期显示格式一项
再回来执行代码,看看结果怎么样?是不是很神奇,是不是觉得奇怪?
去了解一下线程的语言文化吧。
用下面的代码才能去秒显示时间:
DateTime.ToString("yyyy-M-d h:m")
6.//标题带链接
<%# " <a class=/"12c/" target=/"_blank/"
href=/"http://www.51aspx/CV/_"+DataBinder.Eval
(Container.DataItem,"procode")+".html/">"+
DataBinder.Eval(Container.DataItem,"proname")+" </a>"%>
7.//修改转向
<%# " <A href=/"editpushpro.aspx?id="+DataBinder.Eval
(Container.DataItem,"code")+"/">"+"修改
"+" </A>"%>
8.//弹出确定按钮
<%# " <A id=/"btnDelete/" οnclick=/"return confirm('你是否
确定删除这条记录吗?');/" href=/"pushproduct.aspx?
dl="+DataBinder.Eval(Container.DataItem,"code")
+"/">"+"删除"+" </A>"%>
9.//输出数据格式化 "{0:F2}" 是格式 F2表示小数点后剩两位
<%# DataBinder.Eval(Container, "DataItem.PriceMoney","{0:F2}
") %>
10.//提取动态网页内容
Uri uri = new Uri("http://www.51aspx.com/");
WebRequest req = WebRequest.Create(uri);
WebResponse resp = req.GetResponse();
Stream str = resp.GetResponseStream();
StreamReader sr = new StreamReader(str,System.Text.Encoding.Default);
string t = sr.ReadToEnd();
this.Response.Write(t.ToString());
OK,代码看上去很正常,执行结果也如预期。一切都很“完美”。
但是,Stream对象是不是应该在执行完之后或发生异常的情况下关闭?
另外,为什么要 string.ToString()
这样的代码有何意义?
为什么要使用默认的编码去Request?在不同的情况下会带来什么后果?
难怪大部分的所谓C#程序员如此廉价。
11.//获取" . "后面的字符
i.ToString().Trim().Substring(i.ToString().Trim().LastIndexOf(".")
+1).ToLower().Trim()
不知道大家看到这样的代码是何感想
这里面产生了多少个string对象(垃圾对象),代码有多大的可读性。
既然需要取 . 后面的字符,这样随意的使用Trim(),使用 ToLower() 是那个需求文档给你的权利?
还有,万一 string.LastIndexOf(string) 等于 -1 怎么办?
下面的代码是不是更容易接受:
string temp = i.ToString();
int dotIndex = temp.LastIndexOf(".");
return temp.SubString(dotIndex+1);
12. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open(’*.aspx?
id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)<
/script>")
接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
12.为按钮添加对话框
Button1.Attributes.Add("onclick","return confirm(’确认?’)
");
button.attributes.add("onclick","if(confirm(’are you sure...?
’)){return true;}else{return false;}")
if(confirm('are you sure...?')){return true;}else{return false;}
换成
return confirm('Are you sure?')
是不是更好?
13.删除表格选定记录
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "Delete from Employee where emp_id = " +
intEmpID.ToString()
14.删除表格记录警告
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem:
TableCell myTableCell;
myTableCell = e.Item.Cells[14];
LinkButton myDeleteButton ;
myDeleteButton = (LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick","return confirm(’
您是否确定要删除这条信息’);");
break;
default:
break;
}
}
15.点击表格行链接另一页
private void grdCustomer_ItemDataBound(object sender,
System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//点击表格打开
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
e.Item.Attributes.Add("onclick","window.open(’
Default.aspx?id=" + e.Item.Cells[0].Text + "’);");
}
双击表格连接到另一页
在itemDataBind事件中
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
string orderItemID =e.item.cells[1].Text;
e.item.Attributes.Add("ondblclick",
"location.href=’../ShippedGrid.aspx?id=" + orderItemID + "’
");
}
双击表格打开新一页
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==
ListItemType.AlternatingItem)
{
string orderItemID =e.item.cells[1].Text;
e.item.Attributes.Add("ondblclick", "open
(’../ShippedGrid.aspx?id=" + orderItemID + "’)");
}
16.表格超连接列传递参数
<asp:HyperLinkColumn Target="_blank" headertext="ID号"
DataTextField="id" NavigateUrl="aaa.aspx?id=’
<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ &
name=’<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>’ /
>
17.表格点击改变颜色
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType ==
ListItemType.AlternatingItem)
{
e.Item.Attributes.Add
("onclick","this.style.backgroundColor=’#99cc00’;
this.style.color=’buttontext’;this.style.cursor=’default’;");
}
写在DataGrid的_ItemDataBound里
if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType ==
ListItemType.AlternatingItem)
{
e.Item.Attributes.Add
("onmouseover","this.style.backgroundColor=’#99cc00’;
this.style.color=’buttontext’;this.style.cursor=’default’;");
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=
’’;this.style.color=’’;");
}
18.关于日期格式
日期格式设定
DataFormatString="{0:yyyy-MM-dd}"
我觉得应该在itembound事件中
e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的
列"].text.ToString("yyyy-MM-dd"))
19.获取错误信息并到指定页面
不要使用Response.Redirect,而应该使用Server.Transfer
e.g
// in global.asax
protected void Application_Error(Object sender, EventArgs e) {
if (Server.GetLastError() is HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :)
}
Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服
务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
20.清空Cookie
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires = 0