a.aspx  :<TABLE class="outborder" id="Table31" cellSpacing="0" cellPadding="0" width="749" border="0">
<asp:repeater id="Repeater2" runat="server">
<itemtemplate>
<tr bgcolor="#f5f5f5">
<td>
<strong><font size="4"><a href='c1.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>'>
<%# DataBinder.Eval(Container.DataItem,"coname").ToString() %>
</a></font></strong>
</td>
<td style="WIDTH: 174px">
<a href='c.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>'  target=_blank>请进</a>
</td>
</tr>
</itemtemplate>
<AlternatingItemTemplate>
<tr bgcolor="#f5f5f5">
<td>
<strong><font size="4"><a href='c1.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>'>
<%# DataBinder.Eval(Container.DataItem,"coname").ToString() %>
</a></font></strong>
</td>
<td style="WIDTH: 174px">
<a href='c.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>'  target=_blank>请进</a>
</td>
</tr>
</AlternatingItemTemplate>
</asp:repeater>
</TABLE>a.aspx.cs  :
//连接数据库 省略...
SqlCommand cmd=new SqlCommand(select * from companytable,conn);
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
DataSet ds=new DataSet();
da.Fill(ds);
Repeater1.DataBind();
//关闭c.aspx 前台什么也没有,只有后台代码:
c.aspx.csprivate void Page_Load(object sender, System.EventArgs e)
{
   gg=Request.Params["id"];
   ....
   //我要执行的代码!不好意思,没让大家看!呵呵
}整个过程就是这样,c.asp只是一个过度的页面,就调用了一下page_load事件,然后就自动关闭了,现在我的问题就是不想要c.aspx这个页面了,当点击“请进”时就可以调用上面的page_load里面的代码,大家注意{ gg=Request.Params["id"]; }这个语句,因为a.aspx中有很多个“请进”,每个“请进”的id值是不同的,点击每个“请进”时传递的id 也就不同,最关键的就是这里(我就是到这里晕的!),大家看看有什么解决的办法没有?最好有详细的代码,不要只告诉我用什么ImageButton的,ImageButton的id是随机的(我认为的),怎么写代码啊?

解决方案 »

  1.   

    因为a.aspx中有很多个“请进”,每个“请进”的id值是不同的,点击每个“请进”时传递的id 也就不同,最关键的就是这里(我就是到这里晕的!),大家看看有什么解决的办法没有?
    我更晕。说了一大堆,却不知道要问的什么问题
      

  2.   

    在a.aspx.cs文件里写一个事件,
    public void buttonclick(string id)
    {
        //你要执行的代码
    }
    在a.aspx文件时调用:
    <a href='#' onserverclick='buttonclick(<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>)'  target=_blank>请进</a>大致是这样.
      

  3.   

    是挺乱的。
    你这样解决
    <strong><font size="4"><a href='c1.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>'>
    <%# DataBinder.Eval(Container.DataItem,"coname").ToString() %>
    </a></font></strong>
    改成<strong><font size="4"><asp:label Text='<%# DataBinder.Eval(Container.DataItem,"id").ToString() % >' id=lbid > 
    <asp:linkButton runat=server .. CommandName="come">请进</asp:linkButton>
    </font></strong>
    .cs实现Repeater2的itemCommand
    Repeater2_itemCommand( .... )
    {
       if( e.item.CommandName== "come" )
       {
           Label lbid = (Label)e.item.FindControl("lbid");
           string strid = lbid.Text;
           .. //按strid的不同执行不同的任务
        }
    }
      

  4.   

    你说的是怎么传参吧,你的c.cs是过渡页面吗,怎么会有这些
    ....
       //我要执行的代码!不好意思,没让大家看!呵呵
      

  5.   

    hdt(近来工作忙,每天只能接分半个小时) :  你好,按你的代码,提示:
    不可访问“System.Web.UI.WebControls.RepeaterCommandEventArgs.item”,因为它受保护级别限制wu896222(WYF) :你好,
    为什么按照你的做法在调试的时候根本就不运行buttonclick事件???
    public void buttonclick(string id)
    {
    string gg;
    gg=id;//是这样调用传过来的id 吧,还是直接用啊?
    ......
      

  6.   

    以下是我测试通过的:在a.aspx文件:
    <asp:LinkButton onclick="buttonclick" runat="server" CommandArgument=<%#DataBinder.Eval(Container,"DataItem.employeeid")%>>请进</asp:LinkButton>在a.aspx.cs文件:
    public void buttonclick(object sender,EventArgs e)
    {
        Response.Write(((LinkButton)sender).CommandArgument.ToString());
    }
      

  7.   

    指定repeater1的datasource
    Repeater1.DataSource=ds;
    Repeater1.DataBind();
      

  8.   

    我说的不清楚吗?那为什么有人就明白呢?
    要是真想帮我的话,就加QQ吧253896168,在QQ上我肯定能说清楚,我有这个信心
      

  9.   

    也就是说其实你是想在点击“请进”之后获得一个参数id
    然后根据这个id进行一系列的处理?