天天看点

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

给自己留个记录

1.给删除按钮添加个确认页面

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

在DetailsView的ItemCreated的事件里写上以下代码

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

   protected void DetailsViewTips_ItemCreated(object sender, EventArgs e)

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

    {

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

        // Test FooterRow to make sure all rows have been created 

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

        if (DetailsViewTips.FooterRow != null)

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

        {

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

            // The command bar is the last element in the Rows collection

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

            int commandRowIndex = DetailsViewTips.Rows.Count - 1;

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

            DetailsViewRow commandRow = DetailsViewTips.Rows[commandRowIndex];

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

            // Look for the DELETE button

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

            DataControlFieldCell cell = (DataControlFieldCell)commandRow.Controls[0];

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

            foreach (Control ctl in cell.Controls)

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

            {

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

                LinkButton link = ctl as LinkButton;

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

                if (link != null)

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

                {

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

                    if (link.CommandName.ToLower() == "delete")

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

                    {

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

                        link.ToolTip = "Click here to delete";

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

                        link.OnClientClick = "return confirm('Do you really want to delete this record?');";

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

                    }

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

                }

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

            }

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

        }

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

    }

2.GridView的分页

如果Gridview里指定了DataSourceID,那你什么都不用做,所有的分页和排序都能很好的自己实现。但如果是自己使用Gridview.DataSource=source;Gridview.databind();来自己绑定,那你不得不自己实现GridView的PageIndexChanging事件,代码大致是这样的

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

    protected void GridViewEditor_PageIndexChanging(object sender, GridViewPageEventArgs e)

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

            DataTable source=

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

..;

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

            GridView.DataSource = source;

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

            GridView.PageIndex =e.NewPageIndex;

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

            GridView.DataBind();

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

3.DetailsView的编辑时的控件验证

要使用到验证控件,DetailsView里的只能在他的TemplateField里,而且每个TemplateField里的验证控件也只能找到相同TemplateField里的TextBox等控件,如果想夸Field验证,只能使用CustomValidator控件,然后再实现它的CustomValidator1_ServerValidate事件 类似代码如下:

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

    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)

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

        TextBox tb = (TextBox)DetailsViewEditor.FindControl("TextBoxGPsw");

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

        string psw1 = tb.Text;

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

        tb = (TextBox)DetailsViewEditor.FindControl("TextBoxPassword");

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

        string psw2 = tb.Text;

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

        if (psw1==psw2)

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

            args.IsValid = true;

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

        else

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

            args.IsValid = false;

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

路漫漫其修远兮 吾将上下而求索

<a href="http://lu.9efish.com/">my blog</a>

本文转自 lu xu 博客园博客,原文链接:http://www.cnblogs.com/dotLive/archive/2007/02/04/639277.html   ,如需转载请自行联系原作者

继续阅读