All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
具体实现 XML 的三种方式_[XML教程]
解决,ASP.NET,中目录访问权限的问题_[Asp.Net教程]
delphi常用的几个路径函数
C#向Excel报表中插入图片的2种方法_[Asp.Net教程]
c#中GDI+图形图像:GDI+中的画笔使用方法
asp.net2.0,动态生成静态页并分页实例_[Asp.Net教程]
将DBF,XLS,XML,MDB文件导入C#DataGrid的方法_[Asp.Net教程]_0
Asp.Net,Forms验证(自定义、角色提供程序、单点登录)_[Asp.Net教程]
SQL细节知识积累_[SQL,Server教程]
客户端回调实现gridView无刷新分页_[Asp.Net教程]
Reading number is top 10 pictures
Players in the eyes of a perfect love1
可爱的狗熊们
传销的好处
China's zhejiang university to create the world's most light material
如果没有好报,为什么要做好人?
The household of rural style is designed
运动的范冰冰1
Shandong jinan is about to dismantle a one hundred-year history of the building
人美胸美腿更美2
Soong ching ling's former residence1
Download software ranking
Call Of Duty2
Tram sex maniac 2 (H) rar bag19
功夫熊猫2(下集)
Professional killers2 for Android
apache-tomcat-6.0.33
The Bermuda triangle2
中国结婚习俗实录
DreamWeaver8
Tram sex maniac 2 (H) rar bag15
linux高级编程
aaa published in(发表于) 2013/12/17 7:45:51 Edit(编辑)
ASP.NET动态网页制作初学者备忘录_.net资料_编程技术

ASP.NET动态网页制作初学者备忘录_.net资料_编程技术

ASP.NET动态网页制作初学者备忘录_.net资料_编程技术-你的首页-uuhomepage.com







  一位ASP.net初学者学习过程中整理的备忘录,包括“打开新的窗口并传送参数,为按钮添加对话框,删除表格选定记录,删除表格记录警告”等等常见问题的解决方法。




1. 打开新的窗口并传送参数:




  传送参数:




response.write("")




  接收参数:




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 + "')");
}




  ★特别注意:【?id=】 处不能为 【?id =】




6.表格超连接列传递参数




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




// 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
{
///


/// 从系统异常类ApplicationException继承的应用程序异常处理类。
/// 自动将异常内容记录到Windows NT/2000的应用程序日志
///

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
{
///
/// 事件日志记录类,提供事件日志记录支持
///
/// 定义了4个日志记录方法 (error, warning, info, trace)
///

///

public class ApplicationLog
{
///
/// 将错误信息记录到Win2000/NT事件日志中
/// 需要记录的文本信息
///

public static void WriteError(String message)
{
WriteLog(TraceLevel.Error, message);
}
///
/// 将警告信息记录到Win2000/NT事件日志中
/// 需要记录的文本信息
///

public static void WriteWarning(String message)
{
WriteLog(TraceLevel.Warning, message);
}
///
/// 将提示信息记录到Win2000/NT事件日志中
/// 需要记录的文本信息
///

public static void WriteInfo(String message)
{
WriteLog(TraceLevel.Info, message);
}
///
/// 将跟踪信息记录到Win2000/NT事件日志中
/// 需要记录的文本信息
///

public static void WriteTrace(String message)
{
WriteLog(TraceLevel.Verbose, message);
}
///
/// 格式化记录到事件日志的文本信息格式
/// 需要格式化的异常对象
/// 异常信息标题字符串.
///
/// 格式后的异常信息字符串,包括异常内容和跟踪堆栈.
///

///

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();
}
///
/// 实际事件日志写入方法
/// 要记录信息的级别(error,warning,info,trace).
/// 要记录的文本.
///

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 横向滚动,纵向自动扩展







13.回车转换成Tab





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.模板列




















  后台代码




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"
  如:









URLTarget="_blank" LeftIcon="file.gif"/>

......




  最好将你的aspnetmenu升级到1.2版




21.读取DataGrid控件TextBox值




foreach(DataGrid dgi in yourDataGrid.Items)
{
TextBox tb = (TextBox)dgi.FindControl("yourTextBoxId");
tb.Text....
}




22.在DataGrid中有3个模板列包含Textbox分别为 DG_ShuLiang (数量) DG_DanJian(单价) DG_JinE(金额)分别在5.6.7列,要求在录入数量及单价的时候自动算出金额即:数量*单价=金额还要求录入时限制为 数值型.我如何用客户端脚本实现这个功能?




  〖思归〗






Text='<%# DataBinder.Eval(Container.DataItem,"DG_ShuLiang")%>'
onkeyup="javascript:DoCal()"
/> ControlToValidate="ShuLiang" ErrorMessage="must be integer" ValidationExpression="^\d+$" />



Text='<%# DataBinder.Eval(Container.DataItem,"DG_DanJian")%>'
onkeyup="javascript:DoCal()"
/> ControlToValidate="DanJian" ErrorMessage="must be numeric" ValidationExpression="^\d+(\.\d*)?$" />



Text='<%# DataBinder.Eval(Container.DataItem,"DG_JinE")%>' />





23.datagrid选定比较底下的行时,为什么总是刷新一下,然后就滚动到了最上面,刚才选定的行因屏幕的关系就看不到了




page_load
page.smartNavigation=true




24.在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?




private void DataGrid1_ItemDataBound(obj sender,DataGridItemEventArgs e)
{
for(int i=0;i if(e.Item.ItemType==ListItemType.EditType)
{
e.Item.Cells[i].Attributes.Add("Width", "80px")
}
}




25.对话框




private static string ScriptBegin = "";
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);
}






















添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.