none
datalist中点击linkbotton传值怎么写 麻烦各位了 RRS feed

  • 问题

  • 在datalist中用linkbotton控件想传递产品ID到另一个界面,在另一个页面显示产品的详细信息,我的ID设的是INT

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

    PagedDataSource ps = new PagedDataSource();
    OleDbConnection conn = new OleDbConnection();
    conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + Server.MapPath("App_Data/eshop.mdb.mdb");
    conn.Open();
    string strSQL = "select * from 商品";
    OleDbDataAdapter da = new OleDbDataAdapter(strSQL, conn);
    DataSet ds = new DataSet();
    da.Fill(ds, "商品");
    ps.DataSource = ds.Tables["商品"].DefaultView;

    DataList1.DataSource = ps;
    DataList1.DataKeyField = "ProductID";
    DataList1.DataBind();
    conn.Close();
    }

    应该如何做到点击linkbotton后传递相应的ID
    2009年12月29日 15:31

答案

  • 你的需求没必要用linkbutton,简单一点在Datalist模板里写个连接标记,传递id参数到指定页面,这个页面接受你传来的id,然后你在根据这个id,select你的数据显示

    <asp:DataList ID="DilAll"  runat="server" RepeatColumns="4" CellPadding="0" HorizontalAlign="Left" DataSourceID="AD1" EnableViewState="False">
                      <ItemTemplate>
                      <div>
    <a href='p_page.aspx?id=<%# Eval("id") %>'>详细</a>
                      </div>
                      </ItemTemplate>
                    </asp:DataList>

    p_page.aspx.cs

     protected void Page_Load(object sender, EventArgs e)
        {
           if(Request.QueryString["id"]!=null&&Request.QueryString["id"]!="")
          {
              //接受传来的id
              int id = int.Parse(Request.QueryString["id"]);
             //更具id 查询你的商品,页面呈现你得到的数据即可
                ........
          }
        }
    啥叫乐观-得瑟的最高境界
    2009年12月30日 1:04

全部回复

  • http://hi.baidu.com/xxyv1/blog/item/ba65cf07e7eb34cc7b894705.html 参考学习这个功能
    最简单就是地址传参数 
    2009年12月29日 15:39
  • 多谢你的资料,但是我看不懂
    2009年12月29日 19:46
  • 你的需求没必要用linkbutton,简单一点在Datalist模板里写个连接标记,传递id参数到指定页面,这个页面接受你传来的id,然后你在根据这个id,select你的数据显示

    <asp:DataList ID="DilAll"  runat="server" RepeatColumns="4" CellPadding="0" HorizontalAlign="Left" DataSourceID="AD1" EnableViewState="False">
                      <ItemTemplate>
                      <div>
    <a href='p_page.aspx?id=<%# Eval("id") %>'>详细</a>
                      </div>
                      </ItemTemplate>
                    </asp:DataList>

    p_page.aspx.cs

     protected void Page_Load(object sender, EventArgs e)
        {
           if(Request.QueryString["id"]!=null&&Request.QueryString["id"]!="")
          {
              //接受传来的id
              int id = int.Parse(Request.QueryString["id"]);
             //更具id 查询你的商品,页面呈现你得到的数据即可
                ........
          }
        }
    啥叫乐观-得瑟的最高境界
    2009年12月30日 1:04