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,如需转载请自行联系原作者
相关文章
|
3月前
|
API
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
|
26天前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
22 1
|
1月前
|
前端开发 JavaScript C#
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件
|
1月前
|
XML 存储 安全
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
C#开发的程序如何良好的防止反编译被破解?ConfuserEx .NET混淆工具使用介绍
55 0
|
2月前
|
Ubuntu 持续交付 API
如何使用 dotnet pack 打包 .NET 跨平台程序集?
`dotnet pack` 是 .NET Core 的 NuGet 包打包工具,用于将代码打包成 NuGet 包。通过命令 `dotnet pack` 可生成 `.nupkg` 文件。使用 `--include-symbols` 和 `--include-source` 选项可分别创建包含调试符号和源文件的包。默认情况下,`dotnet pack` 会先构建项目,可通过 `--no-build` 跳过构建。此外,还可以使用 `--output` 指定输出目录、`-c` 设置配置等。示例展示了创建类库项目并打包的过程。更多详情及命令选项,请参考官方文档。
192 11
|
2月前
|
存储 运维
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
.NET开发必备技巧:使用Visual Studio分析.NET Dump,快速查找程序内存泄漏问题!
|
2月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
3月前
|
Kubernetes 监控 Devops
【独家揭秘】.NET项目中的DevOps实践:从代码提交到生产部署,你不知道的那些事!
【8月更文挑战第28天】.NET 项目中的 DevOps 实践贯穿代码提交到生产部署全流程,涵盖健壮的源代码管理、GitFlow 工作流、持续集成与部署、容器化及监控日志记录。通过 Git、CI/CD 工具、Kubernetes 及日志框架的最佳实践应用,显著提升软件开发效率与质量。本文通过具体示例,助力开发者构建高效可靠的 DevOps 流程,确保项目成功交付。
76 0
|
3月前
|
XML 开发框架 .NET
.NET框架:软件开发领域的瑞士军刀,如何让初学者变身代码艺术家——从基础架构到独特优势,一篇不可错过的深度解读。
【8月更文挑战第28天】.NET框架是由微软推出的统一开发平台,支持多种编程语言,简化应用程序的开发与部署。其核心组件包括公共语言运行库(CLR)和类库(FCL)。CLR负责内存管理、线程管理和异常处理等任务,确保代码稳定运行;FCL则提供了丰富的类和接口,涵盖网络、数据访问、安全性等多个领域,提高开发效率。此外,.NET框架还支持跨语言互操作,允许开发者使用C#、VB.NET等语言编写代码并无缝集成。这一框架凭借其强大的功能和广泛的社区支持,已成为软件开发领域的重要工具,适合初学者深入学习以奠定职业生涯基础。
102 1
|
3月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)