1.
打开新的窗口并传送参数:
传送参数:
传送参数:
response.write("
<script>window.open(’*.aspx?id=
"+
this
.DropDownList1.SelectIndex+"
&id1=
"+...+"
’)</script>
")
接收参数:
string
a = Request.QueryString("
id
");
string
b = Request.QueryString("
id1
");
2. 为按钮添加对话框
Button1.Attributes.Add("
onclick
","
return confirm(’
确认?’)
");
button.attributes.add("
onclick
","
if(confirm(’are you sure...?’)){return true;}else{return false;}
")
3.
删除表格选定记录
int
intEmpID = (
int
)MyDataGrid.DataKeys[e.Item.ItemIndex];
string
deleteCmd = "
DELETE from Employee where emp_id =
" + intEmpID.ToString()
4. 删除表格记录警告
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.
点击表格行链接另一页
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 + "
’)
");
}
6.
表格超连接列传递参数
<
asp
:
HyperLinkColumn
Target
=
"_blank"
headertext
=
"ID
号"
DataTextField
=
"id"
NavigateUrl
=
"aaa.aspx?id='
<%# DataBinder.Eval(Container.DataItem, "
数据字段1
")%
>
' & name='<%# DataBinder.Eval(Container.DataItem, "
数据字段2")%>' />
7. 表格点击改变颜色
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='';
");
}
8.
关于日期格式
日期格式设定
DataFormatString="{0:yyyy-MM-dd}"
我觉得应该在 itembound 事件中
我觉得应该在 itembound 事件中
e.items.cell["
你的列
"].text=DateTime.Parse(e.items.cell["
你的列
"].text.ToString("yyyy-MM-dd"))
9. 获取错误信息并到指定页面
9. 获取错误信息并到指定页面
不要使用
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");
protected void Application_Error(Object sender, EventArgs e) {
if (Server.GetLastError() is HttpUnhandledException)
Server.Transfer("MyErrorPage.aspx");
//
其余的非
HttpUnhandledException
异常交给
ASP.NET
自己处理就
okay
了
:)
}
Redirect 会导致 post - back 的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
}
Redirect 会导致 post - back 的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
10.
清空
Cookie
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires = 0
11. 自定义异常处理
Response.Cookies("UserName").Expires = 0
11. 自定义异常处理
//
自定义异常处理类
using
System;
using
System.Diagnostics;
namespace
MyAppException
{
/// <summary>
///
从系统异常类ApplicationException继承的应用程序异常处理类。
///
自动将异常内容记录到Windows NT/2000的应用程序日志
/// </summary>
public
class
AppException : System.ApplicationException
{
public
AppException()
{
if
(ApplicationConfiguration.EventLogEnabled) LogEvent("
出现一个未知错误。
");
}
public
AppException(
string
message)
{
LogEvent(message);
}
public
AppException(
string
message, Exception innerException)
{
LogEvent(message);
if
(innerException !=
null
)
{
LogEvent(innerException.Message);
}
}
}
}
//
日志记录类
using
System;
using
System.Configuration;
using
System.Diagnostics;
using
System.IO;
using
System.Text;
using
System.Threading;
namespace
MyEventLog
{
/// <summary>
///
事件日志记录类,提供事件日志记录支持
/// <remarks>
///
定义了4个日志记录方法 (error, warning, info, trace)
/// </remarks>
/// </summary>
public
class
ApplicationLog
{
/// <summary>
///
将错误信息记录到Win2000/NT事件日志中
/// <param name="message">
需要记录的文本信息</param>
/// </summary>
public
static
void
WriteError(String message)
{
WriteLog(TraceLevel.Error, message);
}
/// <summary>
///
将警告信息记录到Win2000/NT事件日志中
/// <param name="message">
需要记录的文本信息</param>
/// </summary>
public
static
void
WriteWarning(String message)
{
WriteLog(TraceLevel.Warning, message);
}
/// <summary>
///
将提示信息记录到Win2000/NT事件日志中
/// <param name="message">
需要记录的文本信息</param>
/// </summary>
public
static
void
WriteInfo(String message)
{
WriteLog(TraceLevel.Info, message);
}
/// <summary>
///
将跟踪信息记录到Win2000/NT事件日志中
/// <param name="message">
需要记录的文本信息</param>
/// </summary>
public
static
void
WriteTrace(String message)
{
WriteLog(TraceLevel.Verbose, message);
}
/// <summary>
///
格式化记录到事件日志的文本信息格式
/// <param name="ex">
需要格式化的异常对象</param>
/// <param name="catchInfo">
异常信息标题字符串.</param>
/// <retvalue>
/// <para>
格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>
/// </retvalue>
/// </summary>
public
static
String FormatException(Exception ex, String catchInfo)
{
StringBuilder strBuilder =
new
StringBuilder();
if
(catchInfo != String.Empty)
{
strBuilder.Append(catchInfo).Append("
/r/n
");
}
strBuilder.Append(ex.Message).Append("
/r/n
").Append(ex.StackTrace);
return
strBuilder.ToString();
}
/// <summary>
///
实际事件日志写入方法
/// <param name="level">
要记录信息的级别(error,warning,info,trace).</param>
/// <param name="messageText">
要记录的文本.</param>
/// </summary>
private
static
void
WriteLog(TraceLevel level, String messageText)
{
try
{
EventLogEntryType LogEntryType;
switch
(level)
{
case
TraceLevel.Error:
LogEntryType = EventLogEntryType.Error;
break
;
case
TraceLevel.Warning:
LogEntryType = EventLogEntryType.Warning;
break
;
case
TraceLevel.Info:
LogEntryType = EventLogEntryType.Information;
break
;
case
TraceLevel.Verbose:
LogEntryType = EventLogEntryType.SuccessAudit;
break
;
default
:
LogEntryType = EventLogEntryType.SuccessAudit;
break
;
}
EventLog eventLog =
new
EventLog("
Application
", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName);
//
写入事件日志
eventLog.WriteEntry(messageText, LogEntryType);
}
catch
{ }
//
忽略任何异常
}
}
//class ApplicationLog
}
12.Panel
横向滚动,纵向自动扩展
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13.
回车转换成
Tab
<script language="javascript" for="document" event="onkeydown">
if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!=''&& event.srcElement.type!='textarea');
event.keyCode=9;
</script>
if(event.keyCode==13 && event.srcElement.type!='button' && event.srcElement.type!='submit' && event.srcElement.type!='reset' && event.srcElement.type!=''&& event.srcElement.type!='textarea');
event.keyCode=9;
</script>
οnkeydοwn="if(event.keyCode==13) event.keyCode=9"
14.DataGrid
超级连接列
15.DataGrid
行随鼠标变色
private
void
DGzf_ItemDataBound(
object
sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if
(e.Item.ItemType!=ListItemType.Header)
{
e.Item.Attributes.Add( "
onmouseout
","
this.style.backgroundColor=/"
"+e.Item.Style["
BACKGROUND-COLOR
"]+"
/"
");
e.Item.Attributes.Add( "
onmouseover
","
this.style.backgroundColor=/"
"+ "
#EFF3F7
"+"
/"
");
}
}
16. 模板列
<
ASP
:
TEMPLATECOLUMN
visible
=
"False"
sortexpression
=
"demo"
headertext
=
"ID">
<
ITEMTEMPLATE
>
<
ASP
:
LABEL
text
=
'<%# DataBinder.Eval(Container.DataItem, "ArticleID")%>'
runat
=
"server"
width
=
"80%"
id
=
"lblColumn"
/>
</
ITEMTEMPLATE
>
</
ASP
:
TEMPLATECOLUMN
>
<
ASP
:
TEMPLATECOLUMN
headertext
=
"
选中">
<
HEADERSTYLE
wrap
=
"False"
horizontalalign
=
"Center"></
HEADERSTYLE
>
<
ITEMTEMPLATE
>
<
ASP
:
CHECKBOX
id
=
"chkExport"
runat
=
"server"
/>
</
ITEMTEMPLATE
>
<
EDITITEMTEMPLATE
>
<
ASP
:
CHECKBOX
id
=
"chkExportON"
runat
=
"server"
enabled
=
"true"
/>
</
EDITITEMTEMPLATE
>
</
ASP
:
TEMPLATECOLUMN
>
后台代码
protected
void
CheckAll_CheckedChanged(
object
sender, System.EventArgs e)
{
//
改变列的选定,实现全选或全不选。
CheckBox chkExport ;
if
( CheckAll.Checked)
{
foreach
(DataGridItem oDataGridItem
in
MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("
chkExport
");
chkExport.Checked =
true
;
}
}
else
{
foreach
(DataGridItem oDataGridItem
in
MyDataGrid.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("
chkExport
");
chkExport.Checked =
false
;
}
}
}
17.
数字格式化
【
<%#Container.DataItem("price")%>
的结果是
500.0000
,怎样格式化为
500.00?
】
<%#Container.DataItem("price","{0:
¥
#,##0.00}")%>
int i=123456;
string s=i.ToString("###,###.00");
18. 日期格式化
string s=i.ToString("###,###.00");
18. 日期格式化
【
aspx
页面内:
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
显示为:
2004-8-11 19:44:28
我只想要:
2004-8-11
】
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>
应该如何改?
应该如何改?
【格式化日期】
取出来
,
一般是
object((DateTime)objectFromDB).ToString("yyyy-MM-dd");
【日期的验证表达式】
A.
以下正确的输入格式:
[2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]
^((/d{2}(([02468][048])([13579][26]))[/-///s]?((((0?[13578])(1[02]))[/-///s]?((0?[1-9])([1-2][0-9])(3[01])))(((0?[469])(11))[/-///s]?((0?[1-9])([1-2][0-9])(30)))(0?2[/-///s]?((0?[1-9])([1-2][0-9])))))(/d{2}(([02468][1235679])([13579][01345789]))[/-///s]?((((0?[13578])(1[02]))[/-///s]?((0?[1-9])([1-2][0-9])(3[01])))(((0?[469])(11))[/-///s]?((0?[1-9])([1-2][0-9])(30)))(0?2[/-///s]?((0?[1-9])(1[0-9])(2[0-8]))))))(/s(((0?[1-9])(1[0-2]))/:([0-5][0-9])((/s)(/:([0-5][0-9])/s))([AMPMampm]{2,2})))?$
B. 以下正确的输入格式: [0001-12-31], [9999 09 30], [2002/03/03]
B. 以下正确的输入格式: [0001-12-31], [9999 09 30], [2002/03/03]
^/d{4}[/-///s]?((((0[13578])(1[02]))[/-///s]?(([0-2][0-9])(3[01])))(((0[469])(11))[/-///s]?(([0-2][0-9])(30)))(02[/-///s]?[0-2][0-9]))$
【大小写转换】
【大小写转换】
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
19. 如何设定全局变量
HttpUtility.HtmlDecode(string)
19. 如何设定全局变量
Global.asax
中
Application_Start()
事件中
添加
Application[
属性名
]
=
xxx;
就是你的全局变量
20.
怎样作到
HyperLinkColumn
生成的连接后,点击连接,打开新窗口?
HyperLinkColumn
有个属性
Target,
将器值设置成
"_blank"
即可
.(Target="_blank")
【
ASPNETMENU
】点击菜单项弹出新窗口
在你的
menuData.xml
文件的菜单项中加入
URLTarget="_blank"
,如:
<?xml version="1.0" encoding="GB2312"?>
<MenuData ImagesBaseURL="images/">
<MenuGroup>
<MenuItem Label=" 内参信息 " URL="Infomation.aspx" >
<MenuGroup ID="BBC">
<MenuItem Label=" 公告信息 " URL="Infomation.aspx" URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label=" 编制信息简报 " URL="NewInfo.aspx" LeftIcon="file.gif" />
......
最好将你的 aspnetmenu 升级到 1.2 版
<MenuData ImagesBaseURL="images/">
<MenuGroup>
<MenuItem Label=" 内参信息 " URL="Infomation.aspx" >
<MenuGroup ID="BBC">
<MenuItem Label=" 公告信息 " URL="Infomation.aspx" URLTarget="_blank" LeftIcon="file.gif"/>
<MenuItem Label=" 编制信息简报 " URL="NewInfo.aspx" LeftIcon="file.gif" />
......
最好将你的 aspnetmenu 升级到 1.2 版
21.
读取
DataGrid
控件
TextBox
值
foreach(DataGrid dgi in yourDataGrid.Items)
{
TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId");
tb.Text....
}
{
TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId");
tb.Text....
}
23.
在
DataGrid
中有
3
个模板列包含
Textbox
分别为
DG_ShuLiang (
数量
) DG_DanJian(
单价
) DG_JinE(
金额
)
分别在
5.6.7
列,要求在录入数量及单价的时候自动算出金额即
:
数量
*
单价
=
金额还要求录入时限制为数值型
.
我如何用客户端脚本实现这个功能
?
<
asp
:
TemplateColumn
HeaderText
=
"
数量
">
< ItemTemplate >
< asp : TextBox id = "ShuLiang" runat = 'server' Text = '<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>'
onkeyup = "javascript:DoCal()"
/>
< asp : RegularExpressionValidator id = "revS" runat = "server" ControlToValidate = "ShuLiang" ErrorMessage = "must be integer" ValidationExpression = "^/d+$" />
</ ItemTemplate >
</ asp : TemplateColumn >
< asp : TemplateColumn HeaderText = " 单价 ">
< ItemTemplate >
< asp : TextBox id = "DanJian" runat = 'server' Text = '<%# DataBinder.Eval(Container.DataItem,"DG_DanJian")%>'
onkeyup = "javascript:DoCal()"
/>
< asp : RegularExpressionValidator id = "revS2" runat = "server" ControlToValidate = "DanJian" ErrorMessage = "must be numeric" ValidationExpression = "^/d+(/./d*)?$" />
</ ItemTemplate >
</ asp : TemplateColumn >
< asp : TemplateColumn HeaderText = " 金额 ">
< ItemTemplate >
< asp : TextBox id = "JinE" runat = 'server' Text = '<%# DataBinder.Eval(Container.DataItem,"DG_JinE")%>' />
</ ItemTemplate >
</ asp : TemplateColumn >< script language = "javascript">
function DoCal()
{
var e = event.srcElement;
var row = e.parentNode.parentNode;
var txts = row.all.tags(" INPUT ");
if (!txts. length txts. length < 3)
return ;
var q = txts[txts. length -3].value;
var p = txts[txts. length -2].value;
if ( isNaN (q) isNaN (p))
return ;
q = parseInt (q);
p = parseFloat (p);
txts[txts. length -1].value = (q * p).toFixed(2);
}
</ script >
< ItemTemplate >
< asp : TextBox id = "ShuLiang" runat = 'server' Text = '<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>'
onkeyup = "javascript:DoCal()"
/>
< asp : RegularExpressionValidator id = "revS" runat = "server" ControlToValidate = "ShuLiang" ErrorMessage = "must be integer" ValidationExpression = "^/d+$" />
</ ItemTemplate >
</ asp : TemplateColumn >
< asp : TemplateColumn HeaderText = " 单价 ">
< ItemTemplate >
< asp : TextBox id = "DanJian" runat = 'server' Text = '<%# DataBinder.Eval(Container.DataItem,"DG_DanJian")%>'
onkeyup = "javascript:DoCal()"
/>
< asp : RegularExpressionValidator id = "revS2" runat = "server" ControlToValidate = "DanJian" ErrorMessage = "must be numeric" ValidationExpression = "^/d+(/./d*)?$" />
</ ItemTemplate >
</ asp : TemplateColumn >
< asp : TemplateColumn HeaderText = " 金额 ">
< ItemTemplate >
< asp : TextBox id = "JinE" runat = 'server' Text = '<%# DataBinder.Eval(Container.DataItem,"DG_JinE")%>' />
</ ItemTemplate >
</ asp : TemplateColumn >< script language = "javascript">
function DoCal()
{
var e = event.srcElement;
var row = e.parentNode.parentNode;
var txts = row.all.tags(" INPUT ");
if (!txts. length txts. length < 3)
return ;
var q = txts[txts. length -3].value;
var p = txts[txts. length -2].value;
if ( isNaN (q) isNaN (p))
return ;
q = parseInt (q);
p = parseFloat (p);
txts[txts. length -1].value = (q * p).toFixed(2);
}
</ script >
24.datagrid
选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。
page_load
page.smartNavigation=true
page.smartNavigation=true
25.
在
Datagrid
中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小
?
private
void
DataGrid1_ItemDataBound(obj sender, DataGridItemEventArgs e)
{
for ( int i = 0; i < e.Item.Cells.Count - 1; i++)
if (e.Item.ItemType == ListItemType.EditType)
{
e.Item.Cells[i].Attributes.Add(" Width ", " 80px ");
}
}
{
for ( int i = 0; i < e.Item.Cells.Count - 1; i++)
if (e.Item.ItemType == ListItemType.EditType)
{
e.Item.Cells[i].Attributes.Add(" Width ", " 80px ");
}
}
26. 对话框
private
static
string
ScriptBegin = "
<script language=/"JavaScript/">
";
private
static
string
ScriptEnd = "
</script>
";
public
static
void
ConfirmMessageBox(
string
PageTarget,
string
Content)
{
string
ConfirmContent = "
var retValue=window.confirm('
" + Content + "
');
" + "
if(retValue){window.location='
" + PageTarget + "
';}
";
ConfirmContent = ScriptBegin + ConfirmContent + ScriptEnd;
Page ParameterPage = (Page)System.Web.HttpContext.Current.Handler;
ParameterPage.RegisterStartupScript("
confirm
", ConfirmContent);
//Response.Write(strScript);
}
27.
将时间格式化:
string aa=DateTime.Now.ToString("yyyy
年
MM
月
dd
日
");
1.1
取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
1.2 取当前年
int
年
= DateTime.Now.Year;
1.3 取当前月
1.3 取当前月
int
月
= DateTime.Now.Month;
1.4 取当前日
1.4 取当前日
int
日
= DateTime.Now.Day;
1.5 取当前时
1.5 取当前时
int
时
= DateTime.Now.Hour;
1.6 取当前分
1.6 取当前分
int
分
= DateTime.Now.Minute;
1.7 取当前秒
1.7 取当前秒
int
秒
= DateTime.Now.Second;
1.8 取当前毫秒
1.8 取当前毫秒
int
毫秒
= DateTime.Now.Millisecond;
28 .自定义分页代码:
28 .自定义分页代码:
先定义变量
:
public static int pageCount; //
总页面数
public static int curPageIndex=1; // 当前页面
下一页:
public static int curPageIndex=1; // 当前页面
下一页:
if(DataGrid1.CurrentPageIndex < (DataGrid1.PageCount - 1))
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex+=1;
}
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex+=1;
}
bind(); // DataGrid1
数据绑定函数
上一页:
上一页:
if(DataGrid1.CurrentPageIndex >0)
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex-=1;
}
{
DataGrid1.CurrentPageIndex += 1;
curPageIndex-=1;
}
bind(); // DataGrid1
数据绑定函数
直接页面跳转:
直接页面跳转:
int a=int.Parse(JumpPage.Value.Trim());//JumpPage.Value.Trim()
为跳转值
if(a<DataGrid1.PageCount)
{
this.DataGrid1.CurrentPageIndex=a;
}
{
this.DataGrid1.CurrentPageIndex=a;
}
bind();
29 . DataGrid 使用:
29 . DataGrid 使用:
添加删除确认:
private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
foreach(DataGridItem di in this.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Itemdi.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)di.Cells[8].Controls[0]).Attributes.Add("onclick","return confirm(' 确认删除此项吗 ?');");
}
}
}
样式交替:
{
foreach(DataGridItem di in this.DataGrid1.Items)
{
if(di.ItemType==ListItemType.Itemdi.ItemType==ListItemType.AlternatingItem)
{
((LinkButton)di.Cells[8].Controls[0]).Attributes.Add("onclick","return confirm(' 确认删除此项吗 ?');");
}
}
}
样式交替:
ListItemType itemType = e.Item.ItemType;
if (itemType == ListItemType.Item )
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#FFFFFF';";
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#d9ece1';cursor='hand';" ;
}
else if( itemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#a0d7c4';";
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#d9ece1';cursor='hand';" ;
}
添加一个编号列:
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#FFFFFF';";
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#d9ece1';cursor='hand';" ;
}
else if( itemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#a0d7c4';";
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#d9ece1';cursor='hand';" ;
}
添加一个编号列:
DataTable dt= c.ExecuteRtnTableForAccess(sqltxt); //
执行
sql
返回的
DataTable
DataColumn dc=dt.Columns.Add("number",System.Type.GetType("System.String"));
DataColumn dc=dt.Columns.Add("number",System.Type.GetType("System.String"));
for(int i=0;i<dt.Rows.Count;i++)
{
dt.Rows[i]["number"]=(i+1).ToString();
}
{
dt.Rows[i]["number"]=(i+1).ToString();
}
DataGrid1.DataSource=dt;
DataGrid1.DataBind();
DataGrid1 中添加一个 CheckBox ,页面中添加一个全选框
DataGrid1.DataBind();
DataGrid1 中添加一个 CheckBox ,页面中添加一个全选框
private void CheckBox2_CheckedChanged(object sender, System.EventArgs e)
{
foreach(DataGridItem thisitem in DataGrid1.Items)
{
((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;
}
}
将当前页面中 DataGrid1 显示的数据全部删除
{
foreach(DataGridItem thisitem in DataGrid1.Items)
{
((CheckBox)thisitem.Cells[0].Controls[1]).Checked=CheckBox2.Checked;
}
}
将当前页面中 DataGrid1 显示的数据全部删除
foreach(DataGridItem thisitem in DataGrid1.Items)
{
if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)
{
string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();
Del (strloginid); // 删除函数
}
}
30 .当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在 Web.config ,然后在 Global.asax 中初始化)
{
if(((CheckBox)thisitem.Cells[0].Controls[1]).Checked)
{
string strloginid= DataGrid1.DataKeys[thisitem.ItemIndex].ToString();
Del (strloginid); // 删除函数
}
}
30 .当文件在不同目录下,需要获取数据库连接字符串(如果连接字符串放在 Web.config ,然后在 Global.asax 中初始化)
在
Application_Start
中添加以下代码:
Application["ConnStr"]=this.Context.Request.PhysicalApplicationPath+ConfigurationSettings.
AppSettings["ConnStr"].ToString();
31 . 变量 .ToString()
AppSettings["ConnStr"].ToString();
31 . 变量 .ToString()
字符型转换
转为字符串
12345.ToString("n"); //
生成
12,345.00
12345.ToString("C"); // 生成 ¥ 12,345.00
12345.ToString("e"); // 生成 1.234500e+004
12345.ToString("f4"); // 生成 12345.0000
12345.ToString("x"); // 生成 3039 (16 进制 )
12345.ToString("p"); // 生成 1,234,500.00%
32 、变量 .Substring( 参数 1, 参数 2);
12345.ToString("C"); // 生成 ¥ 12,345.00
12345.ToString("e"); // 生成 1.234500e+004
12345.ToString("f4"); // 生成 12345.0000
12345.ToString("x"); // 生成 3039 (16 进制 )
12345.ToString("p"); // 生成 1,234,500.00%
32 、变量 .Substring( 参数 1, 参数 2);
截取字串的一部分,参数
1
为左起始位数,参数
2
为截取几位。
如:
string s1 = str.Substring(0,2);
33
.在自己的网站上登陆其他网站:
(
如果你的页面是通过嵌套方式的话,因为一个页面只能有一个
FORM
,这时可以导向另外一个页面再提交登陆信息
)
<SCRIPT language="javascript">
<!--
function gook(pws)
{
frm.submit();
}
//-->
<!--
function gook(pws)
{
frm.submit();
}
//-->
</SCRIPT> <body leftMargin="0" topMargin="0" οnlοad="javascript:gook()" marginwidth="0" marginheight="0">
<form name="frm" action=" http://220.194.55.68:6080/login.php?retid=7259 " method="post">
<tr>
<td>
<input id="f_user" type="hidden" size="1" name="f_user" runat="server">
<input id="f_domain" type="hidden" size="1" name="f_domain" runat="server">
<input class="box" id="f_pass" type="hidden" size="1" name="pwshow" runat="server">
<form name="frm" action=" http://220.194.55.68:6080/login.php?retid=7259 " method="post">
<tr>
<td>
<input id="f_user" type="hidden" size="1" name="f_user" runat="server">
<input id="f_domain" type="hidden" size="1" name="f_domain" runat="server">
<input class="box" id="f_pass" type="hidden" size="1" name="pwshow" runat="server">
<INPUT id="lng" type="hidden" maxLength="20" size="1" value="5" name="lng">
<INPUT id="tem" type="hidden" size="1" value="2" name="tem">
<INPUT id="tem" type="hidden" size="1" value="2" name="tem">
</td>
</tr>
</form>
文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用 vsniffer 看看。
文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用 vsniffer 看看。
下面是获取用户输入的登陆信息的代码:
string name;
name=Request.QueryString["EmailName"];
name=Request.QueryString["EmailName"];
try
{
int a=name.IndexOf("@",0,name.Length);
f_user.Value=name.Substring(0,a);
f_domain.Value=name.Substring(a+1,name.Length-(a+1));
f_pass.Value=Request.QueryString["Psw"];
}
{
int a=name.IndexOf("@",0,name.Length);
f_user.Value=name.Substring(0,a);
f_domain.Value=name.Substring(a+1,name.Length-(a+1));
f_pass.Value=Request.QueryString["Psw"];
}
catch
{
Script.Alert(" 错误的邮箱 !");
Server.Transfer("index.aspx");
}
{
Script.Alert(" 错误的邮箱 !");
Server.Transfer("index.aspx");
}