我想在DataList里添加一个LinkButton,他的ID是lbShow,DataList里的事件operate如下。我想实现当点击这个LinkButton时显示<SelectedItemTemplate>里的内容,请问各位这样写对么?谢谢了。-----------------------------------------------------------------------------
private void operate(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
if(e.Item.ID.ToString()=="lbShow")
{
this.dlUser.SelectedIndex=e.Item.ItemIndex;
this.dlUser.DataBind();
}
}
-------------------------------------------------------------------------------

解决方案 »

  1.   

    当点击这个LinkButton时显示<SelectedItemTemplate>里的内容?
    不大理解
      

  2.   

    <asp:DataList id="dlselItem" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 48px" runat="server"
    Height="136px">
    <HeaderTemplate>
    人员信息
    </HeaderTemplate>
    <SelectedItemTemplate>
    姓名:<%#DataBinder.Eval(Container.DataItem,"LastName")%><BR>
    姓:<%#DataBinder.Eval(Container.DataItem,"FirstName")%><BR>
    标题:<%#DataBinder.Eval(Container.DataItem,"Title")%><BR>
    称谓:<%#DataBinder.Eval(Container.DataItem,"TitleOfCourtesy")%><BR>
    地址:<%#DataBinder.Eval(Container.DataItem,"Address")%><BR>
    城市:<%#DataBinder.Eval(Container.DataItem,"City")%><BR>
    </SelectedItemTemplate>
    <FooterTemplate>
    <hr color="red">
    </FooterTemplate>
    <ItemTemplate>
    <asp:Button id="look" CommandName="select" Text="选择" Runat="server"></asp:Button><%#DataBinder.Eval(Container.DataItem,"LastName")%>
    </ItemTemplate>
    </asp:DataList>private void Page_Load(object sender, System.EventArgs e)
    {
    //页面初试化时进行数据绑定
    if(!IsPostBack)
    DataListDataBind();
    } private void DataListDataBind()
    {
    //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的
    SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString());
    //创建数据适配器对象
    SqlDataAdapter da = new SqlDataAdapter("select EmployeeID,LastName,FirstName,Title,TitleOfCourtesy,Address,City from Employees",conn);
    //创建DataSet对象
    DataSet ds = new DataSet();
    try
    {
    //填充数据集
    da.Fill(ds,"testTable");
    //进行数据绑定
    dlselItem.DataSource = ds.Tables["testTable"];
    dlselItem.DataBind();
    }
    catch(Exception error)
    {
    Response.Write(error.ToString());
    }
    }
    private void dlselItem_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
    //设置DataList控件的选中行的索引为当前选择行的索引
    dlselItem.SelectedIndex = e.Item.ItemIndex;
    //数据绑定
    DataListDataBind();
    }
      

  3.   

    winner2050(winner)  所说的就是直接用CommandName来做是么?  不需要判断e.Item.ID么?那如果Item里有多个LinkButton怎么判断啊?
      

  4.   

    winner2050(winner)  再帮下拉
      

  5.   

    winner2050(winner)那段代码是.把Employees表中的所有的记录绑定到datalist控件.
    没有根据题形来.回答..!!!haobojunsun(ASPX蜗牛) >.......我有相信的源码..
    [email protected]我的email..我把源码用.附件的形式发给你..
    [记得.在邮件中写明..来意]
      

  6.   

    这个问题我已经解决。不用DataList里的Item里的各个控件的ID判断,给每个控件加个CommandName就可以了。判断格式如下,供大家参考。另外,如果使用ID判断的话需要使用e.Item.FindControl("UserName"); 来抓控件的ID。------------------------------------------------------------------
    private void operate(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
    if(e.CommandName.ToString() =="lbShow2")
    {
    this.dlUser.SelectedIndex=e.Item.ItemIndex;
    this.bindDataList();
    }

    if(e.CommandName.ToString() == "lbClose")
    {
    this.dlUser.SelectedIndex=-1;
    this.bindDataList();
    }
                        }