在C#中的动态绑定DataList控件 [英] Binding dynamic datalist in C#

查看:280
本文介绍了在C#中的动态绑定DataList控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图创建数据库的动态数据列表绑定。我可以轻松地创建这一点,但我不能让这个数据列表的项目命令。请帮帮我。这里是我的code以下

I am trying to create a dynamic Data List bind with database. I can easily create this but I am not able to make the item Command of this Data List. Please help me. Here is my code below

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            categorybinding();
        }
    }

    public void categorybinding()
    {
        int totalcate = (from x in ebooks.books_category select x).Count();

        var ra = (from x in ebooks.books_category select x);

        DataList dl = new DataList();
        dl.ItemTemplate = new DatalistLabelColumnBind();
        dl.DataSource = ra;
        dl.DataBind();

        form1.Controls.Add(dl);
        dl.ItemCommand += new DataListCommandEventHandler(this.ItemCommandHandler);

    }

    public void ItemCommandHandler(object sender, DataListCommandEventArgs e)
    {
        Response.Redirect("NewPage.aspx?"+e.CommandArgument.ToString());
    }


//Create a new class implementing ITemplate
public class DatalistLabelColumnBind : ITemplate
{
    public DatalistLabelColumnBind()
    {
        //Add constructor 
    }

    public void InstantiateIn(Control container)
    {
        LinkButton label1 = new LinkButton();
        label1.DataBinding += new EventHandler(this.BindLabelColumn);
        container.Controls.Add(label1);
    }
    public void BindLabelColumn(object sender, EventArgs e)
    {

        LinkButton lbl = (LinkButton)sender;
        DataListItem  container = (DataListItem)lbl.NamingContainer ;
        String strVals = Convert.ToString(DataBinder.Eval(((DataListItem)container).DataItem, "books_category1"));
        lbl.CommandArgument = Convert.ToString(DataBinder.Eval(((DataListItem)container).DataItem, "id_books"));
        lbl.Text = strVals;
    }
}

我的问题:


  1. 我的数据列表很容易在页面上添加的,但是当我在这是在数据列表添加的链接按钮点击是不重定向到NewPage.aspx

帮我..

推荐答案

在Page_Load中if条件后写categorybinding()函数。 ItemCommandHandler肯定会工作。

Write categorybinding() function after the if condition in page_load. ItemCommandHandler will definitely work.

这篇关于在C#中的动态绑定DataList控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆