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

  特别注意:【
? id = 】 处不能为 【 ? id  =
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
web窗体状态栏内类似跑马等效果的实现
第一步:定义一个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)" > 内添加函数的实现。 

看看效果,是不是比较好玩? 

遍历获取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;
            }

        }

    }



本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2005/11/01/266666.html,如需转载请自行联系原作者
相关文章
|
21天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
74 13
|
25天前
|
开发框架 .NET PHP
ASP.NET Web Pages - 添加 Razor 代码
ASP.NET Web Pages 使用 Razor 标记添加服务器端代码,支持 C# 和 Visual Basic。Razor 语法简洁易学,类似于 ASP 和 PHP。例如,在网页中加入 `@DateTime.Now` 可以实时显示当前时间。
|
1月前
|
敏捷开发 缓存 中间件
.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素
本文深入探讨了.NET技术的高效开发模式,涵盖面向对象编程、良好架构设计及高效代码编写与管理三大关键要素,并通过企业级应用和Web应用开发的实践案例,展示了如何在实际项目中应用这些模式,旨在为开发者提供有益的参考和指导。
26 3
|
2月前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
35 1
|
2月前
|
前端开发 JavaScript C#
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
|
2月前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
122 0
|
3月前
|
Ubuntu 持续交付 API
如何使用 dotnet pack 打包 .NET 跨平台程序集?
`dotnet pack` 是 .NET Core 的 NuGet 包打包工具,用于将代码打包成 NuGet 包。通过命令 `dotnet pack` 可生成 `.nupkg` 文件。使用 `--include-symbols` 和 `--include-source` 选项可分别创建包含调试符号和源文件的包。默认情况下,`dotnet pack` 会先构建项目,可通过 `--no-build` 跳过构建。此外,还可以使用 `--output` 指定输出目录、`-c` 设置配置等。示例展示了创建类库项目并打包的过程。更多详情及命令选项,请参考官方文档。
249 11
|
3月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
3月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
4月前
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
96 0

相关实验场景

更多