1. 打开新的窗口并传送参数:
//传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"’)</script>")
//接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2.为按钮添加对话框response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"’)</script>")
//接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
Button1.Attributes.Add("onclick","return confirm(’确认?’)");
button.attributes.add("onclick","if(confirm(’are you sure?’)){return true;}else{return false;}")
3.删除表格选定记录button.attributes.add("onclick","if(confirm(’are you sure?’)){return true;}else{return false;}")
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4.删除表格记录警告string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
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;
}
}
5.点击表格行链接另一页{
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;
}
}
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 + "’)");
}
★特别注意:【?id=】 处不能为 【?id =】
6.表格超连接列传递参数{
//点击表格打开
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 + "’)");
}
★特别注意:【?id=】 处不能为 【?id =】
<asp:HyperLinkColumn Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=’
<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>’ />
7.表格点击改变颜色<%# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>’ />
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=’’;");
}
{
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=’’;");
}
8.关于日期格式
日期格式设定
DataFormatString="{0:yyyy-MM-dd}"
//我觉得应该在itembound事件中
e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))
9.获取错误信息并到指定页面DataFormatString="{0:yyyy-MM-dd}"
//我觉得应该在itembound事件中
e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))
//不要使用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的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
10.清空Cookie
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的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires = 0
web窗体状态栏内类似跑马等效果的实现Response.Cookies("UserName").Expires = 0
第一步:定义一个javascript代码段
<script language="javascript">
var strMsg = " 欢迎光临本站点by loveFXN ";
function DoLoad(index)
{
window.status = strMsg.substr(index,index+10);
index = (index>=strMsg.length-10?0:index+1);
window.setTimeout('DoLoad('+index+')',300,"javascript");
}
</script>
该代码的功能是:每隔300毫秒则执行一次窗体状态栏内容的更新,并对显示内容长度作判断。
注意其中strMsg内的空格用来实现一段空白效果。
第二步:
在 <body onload="DoLoad(0)">内添加函数的实现。
看看效果,是不是比较好玩?
<script language="javascript">
var strMsg = " 欢迎光临本站点by loveFXN ";
function DoLoad(index)
{
window.status = strMsg.substr(index,index+10);
index = (index>=strMsg.length-10?0:index+1);
window.setTimeout('DoLoad('+index+')',300,"javascript");
}
</script>
该代码的功能是:每隔300毫秒则执行一次窗体状态栏内容的更新,并对显示内容长度作判断。
注意其中strMsg内的空格用来实现一段空白效果。
第二步:
在 <body onload="DoLoad(0)">内添加函数的实现。
看看效果,是不是比较好玩?
遍历获取ASP.NET页面控件的名称及值
如果直接用Page.Control 获取的到只是最顶层的页面元素,而真正的拖拉放上去的文本框或Label之类的控件,还隐藏在这些顶层页面元素的里面,所以需要再次遍历。
函数及使用方法如下,结果保存在这里选择了HashTable的方式。
protected void Page_Load(object sender, EventArgs e)
{
getAllControlValue(this);
}
Hashtable getAllControlValue( object PageOrUserControl )
{
Hashtable rtn = new Hashtable();
foreach (Control ctr in (PageOrUserControl as Page).Controls)
{
getControlValue(ctr, rtn);
}
return rtn;
}
void getControlValue(Control ctrIn,Hashtable ht)
{
foreach (Control ctr in ctrIn.Controls)
{
Type controlType = ctr.GetType();
switch (controlType.ToString())
{
case "System.Web.UI.WebControls.TextBox":
TextBox controlTextBoxObj = (TextBox)ctr;
string controlTextBoxName = controlTextBoxObj.ID;
string controlTextBoxValue = controlTextBoxObj.Text;
ht.Add(controlTextBoxName, controlTextBoxValue);
break;
case "System.Web.UI.WebControls.Label":
Label controlLabelObj = (Label)ctr;
string controlLabelName = controlLabelObj.ID;
string controlLabelValue = controlLabelObj.Text;
ht.Add(controlLabelName, controlLabelValue);
break;
//case "其他类型":
// 其它类型 controlTextBoxObj = (其它类型)ctr;
// string controlTextBoxName = controlTextBoxObj.ID;
// string controlTextBoxValue = controlTextBoxObj.Text;
// ht.Add(controlTextBoxName, controlTextBoxValue);
// break;
default:
break;
}
}
}
如果直接用Page.Control 获取的到只是最顶层的页面元素,而真正的拖拉放上去的文本框或Label之类的控件,还隐藏在这些顶层页面元素的里面,所以需要再次遍历。
函数及使用方法如下,结果保存在这里选择了HashTable的方式。
protected void Page_Load(object sender, EventArgs e)
{
getAllControlValue(this);
}
Hashtable getAllControlValue( object PageOrUserControl )
{
Hashtable rtn = new Hashtable();
foreach (Control ctr in (PageOrUserControl as Page).Controls)
{
getControlValue(ctr, rtn);
}
return rtn;
}
void getControlValue(Control ctrIn,Hashtable ht)
{
foreach (Control ctr in ctrIn.Controls)
{
Type controlType = ctr.GetType();
switch (controlType.ToString())
{
case "System.Web.UI.WebControls.TextBox":
TextBox controlTextBoxObj = (TextBox)ctr;
string controlTextBoxName = controlTextBoxObj.ID;
string controlTextBoxValue = controlTextBoxObj.Text;
ht.Add(controlTextBoxName, controlTextBoxValue);
break;
case "System.Web.UI.WebControls.Label":
Label controlLabelObj = (Label)ctr;
string controlLabelName = controlLabelObj.ID;
string controlLabelValue = controlLabelObj.Text;
ht.Add(controlLabelName, controlLabelValue);
break;
//case "其他类型":
// 其它类型 controlTextBoxObj = (其它类型)ctr;
// string controlTextBoxName = controlTextBoxObj.ID;
// string controlTextBoxValue = controlTextBoxObj.Text;
// ht.Add(controlTextBoxName, controlTextBoxValue);
// break;
default:
break;
}
}
}