zoukankan
html css js c++ java
ASP.NET程序中常用的三十三种代码
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事件中
e.items.cell[
"
你的列
"
].text
=
DateTime.Parse(e.items.cell[
"
你的列
"
].text.ToString(
"
yyyy-MM-dd
"
))
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
"
);
//
其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :)
}
Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理
10
.清空Cookie
Cookie.Expires
=
[DateTime];
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>
onkeydown
=
"
if(event.keyCode==13) event.keyCode=9
"
14
.DataGrid超级连接列
DataNavigateUrlField
=
"
字段名
"
DataNavigateUrlFormatString
=
"
http://xx/inc/delete.aspx?ID={0}
"
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
.日期格式化
【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))([AM
|
PM
|
am
|
pm]
{
2
,
2
}
)))
?
$
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
.如何设定全局变量
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版
21
.读取DataGrid控件TextBox值
foreach
(DataGrid dgi
in
yourDataGrid.Items)
{
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>
24
.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了。
page_load
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
"
)
}
}
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
取当前年
int
年
=
DateTime.Now.Year;
1.3
取当前月
int
月
=
DateTime.Now.Month;
1.4
取当前日
int
日
=
DateTime.Now.Day;
1.5
取当前时
int
时
=
DateTime.Now.Hour;
1.6
取当前分
int
分
=
DateTime.Now.Minute;
1.7
取当前秒
int
秒
=
DateTime.Now.Second;
1.8
取当前毫秒
int
毫秒
=
DateTime.Now.Millisecond;
28
.自定义分页代码:
先定义变量 :
public
static
int
pageCount;
//
总页面数
public
static
int
curPageIndex
=
1
;
//
当前页面
下一页:
if
(DataGrid1.CurrentPageIndex < (DataGrid1.PageCount
-
1
))
{
DataGrid1.CurrentPageIndex
+=
1
;
curPageIndex
+=
1
;
}
bind();
//
DataGrid1数据绑定函数
上一页:
if
(DataGrid1.CurrentPageIndex >
0
)
{
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;
}
bind();
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.Item
||
di.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’;
"
;
}
添加一个编号列:
DataTable dt
=
c.ExecuteRtnTableForAccess(sqltxt);
//
执行sql返回的DataTable
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();
}
DataGrid1.DataSource
=
dt;
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)
{
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()
字符型转换 转为字符串
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);
截取字串的一部分,参数1为左起始位数,参数2为截取几位。 如:
string
s1
=
str.Substring(
0
,
2
);
33
.在自己的网站上登陆其他网站:(如果你的页面是通过嵌套方式的话,因为一个页面只能有一个FORM,这时可以导向另外一个页面再提交登陆信息)
<SCRIPT language
=
"
javascript
"
>
<
!--
function gook(pws)
{
frm.submit();
}
//
-->
<
/
SCRIPT> <body leftMargin
=
"
0
"
topMargin
=
"
0
"
onload
=
"
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
"
>
<INPUT id
=
"
lng
"
type
=
"
hidden
"
maxLength
=
"
20
"
size
=
"
1
"
value
=
"
5
"
name
=
"
lng
"
>
<INPUT id
=
"
tem
"
type
=
"
hidden
"
size
=
"
1
"
value
=
"
2
"
name
=
"
tem
"
>
<
/
td>
<
/
tr>
<
/
form>
文本框的名称必须是你要登陆的网页上的名称,如果源码不行可以用vsniffer 看看。
下面是获取用户输入的登陆信息的代码:
string
name;
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
"
];
}
catch
{
Script.Alert(
"
错误的邮箱!
"
);
Server.Transfer(
"
index.aspx
"
);
}
查看全文
相关阅读:
浅析锂电池保护板(BMS)系统设计思路(一)
手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务(三)
手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务(二)
手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务(一)
手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务调度策略(五)
手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务调度策略(四)
手把手,嘴对嘴,讲解UCOSII嵌入式操作系统的任务调度策略(三)
精度要求较高的场景对float和double浮点数据的处理
小数形式的十进制数字转换为二进制(附过程)
mysql 隐式转换问题(案例二)
原文地址:https://www.cnblogs.com/lxf120/p/516241.html
最新文章
Vue 自定义编译打包路径
MySQL 自动插入、更新时间戳
Spring boot 自定义 Resolver 支持 interface 类型参数
《Effective Java》学习笔记 —— 枚举、注解与方法
《Effective Java》学习笔记 —— 通用程序设计
《Effective Java》学习笔记 ——异常
《Effective Java》学习笔记 —— 序列化
《Effective Java》 学习笔记 —— 并发
TensorFlow训练MNIST数据集(3) —— 卷积神经网络
TensorFlow 训练MNIST数据集(2)—— 多层神经网络
热门文章
TensorFlow训练MNIST数据集(1) —— softmax 单层神经网络
TensorFlow 实现线性回归
python数据图形化—— matplotlib 基础应用
一个可能让你记忆力飙升的软件 —— 这是一道填空(keng)题
一个可能让你记忆力飙升的软件
记一次噩梦般的经历——论学会反编译的重要性
git简单入门
关于Vxworks 操作系统的多网口使用
基于STM32的LTC6804驱动代码解析
浅析锂电池保护板(BMS)系统设计思路(二)
Copyright © 2011-2022 走看看