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是随机的(我认为的),怎么写代码啊?
<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是随机的(我认为的),怎么写代码啊?
我更晕。说了一大堆,却不知道要问的什么问题
public void buttonclick(string id)
{
//你要执行的代码
}
在a.aspx文件时调用:
<a href='#' onserverclick='buttonclick(<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>)' target=_blank>请进</a>大致是这样.
你这样解决
<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的不同执行不同的任务
}
}
....
//我要执行的代码!不好意思,没让大家看!呵呵
不可访问“System.Web.UI.WebControls.RepeaterCommandEventArgs.item”,因为它受保护级别限制wu896222(WYF) :你好,
为什么按照你的做法在调试的时候根本就不运行buttonclick事件???
public void buttonclick(string id)
{
string gg;
gg=id;//是这样调用传过来的id 吧,还是直接用啊?
......
<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());
}
Repeater1.DataSource=ds;
Repeater1.DataBind();
要是真想帮我的话,就加QQ吧253896168,在QQ上我肯定能说清楚,我有这个信心
然后根据这个id进行一系列的处理?