asp.net2.0的几个标准控件使用的小技巧

给自己留个记录
1.给删除按钮添加个确认页面
给普通的button按钮和LinkButton增加个确认窗口,只要在他们的OnClickClient属性里写上“return confirm('是否确认删除这个项目?');”就可以了。在GridView和DetailsView控件的TemplateField里添加个delete按钮,也可以用相同的方法实现,但如果使用DetailsView的AutoGenerateDeleteButton="True"生成出来的删除按钮要怎么增加这个确认窗口?因为我们不能在设计窗口里设置自动生成的删除按钮的属性,在网上找了一圈 找到一个方法:
在DetailsView的ItemCreated的事件里写上以下代码

None.gif     protected   void  DetailsViewTips_ItemCreated( object  sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        
// Test FooterRow to make sure all rows have been created 
InBlock.gif
        if (DetailsViewTips.FooterRow != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            
// The command bar is the last element in the Rows collection
InBlock.gif
            int commandRowIndex = DetailsViewTips.Rows.Count - 1;
InBlock.gif            DetailsViewRow commandRow 
= DetailsViewTips.Rows[commandRowIndex];
InBlock.gif
InBlock.gif            
// Look for the DELETE button
InBlock.gif
            DataControlFieldCell cell = (DataControlFieldCell)commandRow.Controls[0];
InBlock.gif            
foreach (Control ctl in cell.Controls)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                LinkButton link 
= ctl as LinkButton;
InBlock.gif                
if (link != null)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    
if (link.CommandName.ToLower() == "delete")
ExpandedSubBlockStart.gifContractedSubBlock.gif                    
dot.gif{
InBlock.gif                        link.ToolTip 
= "Click here to delete";
InBlock.gif                        link.OnClientClick 
= "return confirm('Do you really want to delete this record?');";
ExpandedSubBlockEnd.gif                    }

ExpandedSubBlockEnd.gif                }

ExpandedSubBlockEnd.gif            }

ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

2.GridView的分页
如果Gridview里指定了DataSourceID,那你什么都不用做,所有的分页和排序都能很好的自己实现。但如果是自己使用Gridview.DataSource=source;Gridview.databind();来自己绑定,那你不得不自己实现GridView的PageIndexChanging事件,代码大致是这样的
None.gif      protected   void  GridViewEditor_PageIndexChanging( object  sender, GridViewPageEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif            DataTable source
=dot.gif..;
InBlock.gif            GridView.DataSource 
= source;
InBlock.gif            GridView.PageIndex 
=e.NewPageIndex;
InBlock.gif            GridView.DataBind();
ExpandedBlockEnd.gif    }

3.DetailsView的编辑时的控件验证
要使用到验证控件,DetailsView里的只能在他的TemplateField里,而且每个TemplateField里的验证控件也只能找到相同TemplateField里的TextBox等控件,如果想夸Field验证,只能使用CustomValidator控件,然后再实现它的CustomValidator1_ServerValidate事件 类似代码如下:
None.gif      protected   void  CustomValidator1_ServerValidate( object  source, ServerValidateEventArgs args)
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif {
InBlock.gif        TextBox tb 
= (TextBox)DetailsViewEditor.FindControl("TextBoxGPsw");
InBlock.gif        
string psw1 = tb.Text;
InBlock.gif        tb 
= (TextBox)DetailsViewEditor.FindControl("TextBoxPassword");
InBlock.gif        
string psw2 = tb.Text;
InBlock.gif        
if (psw1==psw2)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            args.IsValid 
= true;
ExpandedSubBlockEnd.gif        }

InBlock.gif        
else
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            args.IsValid 
= false;
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值