我想实现的效果是这样的:
repeater中有一项"未审核"的超链接,当审核成功以后,我的这个超链接变成了我images文件夹里的一个对号图片,我怎么在repeater中完成这个替换过程,请高手知道
我为什么在repepeater中嵌套控件,比如说Linkbutton在后台找不到它的定义,所以不知道怎么给它写事件?SOS

解决方案 »

  1.   

    在模板列里加一个<asp:Literal id="Literal1" runat="server" Text='<%# showImg(DataBinder.Eval(Container.DtaItem,"YourKeyValue").ToString())%>'></asp:Literal>后台写一个函数
    public string showImg(string inValue)
    {
     if(inValue == yourFlag)
    {
     return "<img src=>";
    }
    else
    {
     return "<a herf='*.aspx'>value</a>";
    }
    }
      

  2.   

    codeangel  不明白 怎么直接输出??
      

  3.   

    如果能找到定义的话,一切都容易,
    你个可以用两个控件:一个linkButton,一个imagebutton;
    未审核时隐藏imagebutton,显示另一个;
    审核后隐藏linkbutton,显示另一个.
      

  4.   

    chmodyou 你说的很对啊 
    为什么在repeater中嵌套的控件在后台不能找到定义呢?我用FindControl找到repeater中的控件,但是在调试时候说“未将对象引用到实例”
    我的例子是这样的:rpt就是repeater的id
    LinkButton lbtn=new LinkButton();
    lbtn=(LinkButton)this.rpt.ItemCommand("jy");
    lbtn.Text="aa";高手请指点一下怎么才能找到repeater中的空间呢?
      

  5.   

    用两个控件,未审核显示linkButton,隐藏image;
    审核完显示image,隐藏link。
    可以在CS文件里控制,也可以直接输出html。
      

  6.   

    newthunder 我现在麻烦的就是控件在repeater中啊,而在后台又找不到,哭~~
      

  7.   

    我看懂些 happyfamily的程序了,对我很有启发,我试一下,应该可以的
      

  8.   

    (LinkButton)xxx.FindControl("linkbtn1").Visable = false;
    (ImageButton).................................. = true;
      

  9.   

    ---------------------前台--------------------------------------
    <asp:Repeater id="Repeater1" runat="server">
    <ItemTemplate>
    <div>
    <asp:LinkButton ID='linkBtn' Runat="server">哈哈</asp:LinkButton>
    <asp:Label ID='num' Runat="server"></asp:Label></div>
    </ItemTemplate>
    </asp:Repeater>
    -------------------------------------------------------------------------------------------------------------------------后台-------------------------------------------
    private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
    {
    Label l=(Label)e.Item.FindControl("num");
    if(l!=null)
    {
    l.Text=i.ToString();
    }
    if(i%3==0)
    {
    LinkButton lb=(LinkButton)e.Item.FindControl("linkBtn");
    if(lb!=null)
    {
    HtmlImage image=new HtmlImage();
    image.Src="http://www.csdn.net/CSDN_Common_Header_Footer/Images/BiaoShi.gif";
                        e.Item.Controls.Remove(lb);
    e.Item.Controls.AddAt(0,image);
    }
    }
                i++;
    }
    ____________________________________________________________________________________
      

  10.   

    怎么才能绑定repeater中的那个asp:Literal id="Literal1"呢??
    怎么找到呢 用FindControl吗??
    我怎么知道呢??
      

  11.   

    private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
    {

                           Litera l=(Litera)e.Item.FindControl("Literal1");
                           if(l!=null)
    {
    //Response.Write("哈哈,找到了!");
    }    
    }
      

  12.   

    我写的this.Page.FindControl("Literal1").DataSource=ds;
    但是为什么没有DataSource这项??我应该怎么绑定Literal1数据呢??
      

  13.   

    我怎么才能绑定我的标记表中标记那一列到这个Literal1上呢?我应该怎么写呢?
      

  14.   

    疯掉了 
    我按照happyfamily的想法去做了,但是我怎么才能找到前台repeater中那个id为Literal1的Literal呢?
    我怎么才能把我标记表给这个Literal绑定呢?
    我的标记表如下
    bsf(标识符)
    bj(标记)
    我要通过这个bj列来判断是否给添加超链接还是添加图片,但是我不能绑定标记这一列啊,高手救救我吧,我没有分再发一个帖子了,拯救!!拯救!!!
      

  15.   

    在你的控件邦定的时候可以写事件的
    private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
    {
                      控件 控件名=e.Item.FindControl("页面的控件名");                   控件名.value =...

    }
    --为我喝彩,为我加分--
      

  16.   

    nancy_zhou我怎么调用这个private void Repeater1_ItemDataBound()函数呢??
      

  17.   

    这个很简单,取数的时候用SQLselect  distinct
    case Isnull(intOwnerid,1) when 1 then ''订阅回帖'' when  '+convert(varchar(10),@intUserID)+' then  ''退订回帖'' else ''订阅回帖'' end as ImgText,
    case Isnull(intOwnerid,1) when 1 then ''../Resource/IMAGE/ICO_BBSMAIL.gif'' when '+convert(varchar(10),@intUserID)+' then ''../Resource/IMAGE/ICO_BBSMAIL2.gif'' else ''../Resource/IMAGE/ICO_BBSMAIL.gif'' end as Imgsrc,
    ,*

    From  data_bbsItems  前台 <asp:TemplateColumn HeaderText="回帖跟踪">
    <HeaderStyle Wrap="False" HorizontalAlign="Center" Width="100px" VerticalAlign="Middle"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
    <ItemTemplate>
    <asp:HyperLink id="Hyperlink2" runat="server"></asp:HyperLink><IMG src='<%# DataBinder.Eval(Container.DataItem, "Imgsrc") %>' align=absMiddle>
    <A href='frmForumAddPaste.aspx?intRepID=0&amp;intItemID=<%# DataBinder.Eval(Container.DataItem, "intItemsId") %>&amp;strStatus=subscribe'>
    <%# DataBinder.Eval(Container.DataItem, "ImgText") %>
    </A>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  18.   

    考到你的空白页面,看看效果(得修改图片路径)如果符合你的要求,自己细化吧,就是这个思路<ASP:REPEATER id="Repeater1" runat="server">
    <HEADERTEMPLATE>
    </HEADERTEMPLATE>
    <FOOTERTEMPLATE>
    </FOOTERTEMPLATE>
    <ITEMTEMPLATE>
    <TABLE width="300" border="1" cellspacing="1" cellpadding="1">
    <TR>
    <TD width="100">
    <ASP:LITERAL id="Literal2" runat="server" text='<%#DataBinder.Eval(Container.DataItem,"name","{0:D}")%>'>
    </ASP:LITERAL>
    </TD>
    <TD width="200">
    <ASP:PANEL id="Panel1" runat="server" visible='<%#DataBinder.Eval(Container.DataItem,"isOk","{0}")=="1"?false:true%>'>未通过审核</ASP:PANEL>
    <ASP:PANEL id="Panel2" runat="server" visible='<%#DataBinder.Eval(Container.DataItem,"isOk","{0}")=="1"?true:false%>'>
    <ASP:IMAGE runat="server" enableviewstate="False" imageurl='<%#DataBinder.Eval(Container.DataItem,"face")%>' id='Image5'/>
    </ASP:PANEL>
    </TD>
    </TR>
    </TABLE>
    </ITEMTEMPLATE>
    </ASP:REPEATER>private void Page_Load(object sender, System.EventArgs e)
    {
    DataTable dt=new DataTable();
    DataRow dRow;
    dt.Columns.Add("isOk");
    dt.Columns.Add("name");
    dt.Columns.Add("face");
    for(int i=0;i<4;i++)
    {
    dRow=dt.NewRow();
    if(i%2==0)
    {
    dRow["isOk"]="1";
    }
    else
    {
    dRow["isOk"]="0";
    }
    dRow["face"]="001.gif";//////////你的图片
    dRow["name"]="name"+i.ToString();
    dt.Rows.Add(dRow);
    }
    Repeater1.DataSource=dt;
    Repeater1.DataBind();
    }
      

  19.   

    关键是这句
    <%#DataBinder.Eval(Container.DataItem,"isOk","{0}")=="1"?false:true%>isOk=1审核通过
      

  20.   

    q_po_o 你可真好
    感激 如果可以我就请你吃饭
      

  21.   

    请问如果我要是绑定了数据库中的一个表中的一列,我应该怎么办呢?
    我的repeater已经绑定数据源了
    我怎么才能绑定repeater中的LITERAL或者是PANEL呢?
    为什么我这样写不可以给LITERAL指定DataSource呢?
    Literal jy=new Literal();
    jy=(Literal)rpt.FindControl("jy");
    jy???不能指定数据源
    jy.DataBind();
    怎么回事??
      

  22.   

    刚回来:)为什么我这样写不可以给LITERAL指定DataSource呢?
    Literal jy=new Literal();
    jy=(Literal)rpt.FindControl("jy");
    jy???不能指定数据源
    jy.DataBind();
    怎么回事??没看到你的代码,我无法回答。请问如果我要是绑定了数据库中的一个表中的一列,我应该怎么办呢?
    我的repeater已经绑定数据源了
    我怎么才能绑定repeater中的LITERAL或者是PANEL呢?等。
      

  23.   

    详细描述:
    我在repeater中绑定了一个数据表中的一列,在我repeater的td中建了个Literal控件,这个控件要绑定我标记中的一列,来判断显示超链接还是图片。
    我有一个DataSet(),我开始填充了一个表,是为repeater提供数据源的,但是我这个Literal怎么才能给它提供数据源呢??我怎么写才对呢??
      

  24.   

    <ASP:PANEL id="Panel1" runat="server" visible='<%#DataBinder.Eval(Container.DataItem,"isOk","{0}")=="1"?false:true%>'>未通过审核</ASP:PANEL>
    <ASP:PANEL id="Panel2" runat="server" visible='<%#DataBinder.Eval(Container.DataItem,"isOk","{0}")=="1"?true:false%>'>
    <ASP:IMAGE runat="server" enableviewstate="False" imageurl='<%#DataBinder.Eval(Container.DataItem,"face")%>' id='Image5'/>
    </ASP:PANEL>比如:
    审核数据字段为Checked,值为1时审核通过,值为0时审核未通过或还没审核数据库里存图片的路径字段为Image把上边的isOk换成Checked,face换成Image就行了<ASP:LITERAL id="Literal2" runat="server" text='<%#DataBinder.Eval(Container.DataItem,"name","{0:D}")%>'>
    </ASP:LITERAL>
    这个不用<ASP:LITERAL>。(是笔误)
    <%#DataBinder.Eval(Container.DataItem,"name","{0:D}")%>'其他字段正常绑定。如:<%#DataBinder.Eval(Container.DataItem,"name","{0:D}")%>
    如果还不行,贴出你的代码。
      

  25.   

    我还是没有说明白,您这个是前台的代码吧,但是DataBinder.Eval这句话是不是要绑定一个字段,我这个字段是从数据库中读出来的,然后填充到dataset()中的,怎么才能给它的提供数据源,比如说我给id为rpt的repeater填充的绑定的过程
    string SqlCmd="select * from ZYJHYSJ order by jid desc ";
    ConStr=ConfigurationSettings.AppSettings["ConStr"];
    Conn=new SqlConnection(ConStr);
    SqlDataAdapter da=new SqlDataAdapter(SqlCmd,Conn);
    da.Fill(ds,"ZYJHYSJ");
    rpt.DataSource=ds;
    rpt.DataBind();
    那同样我给id为"Literal2"的LITERAL指定数据源,数据源为我数据库中的一个表,我该怎么做呢?还有就是LITERAL是嵌套在我这个repeater中的。
      

  26.   

    不一定要用Literal 我只是想知道嵌套在repeater中的控件怎么才能给它像这样rpt.DataSource=ds;
    rpt.DataBind();
    绑定,谢谢啦
      

  27.   

    <asp:repeater id="Repeater1" runat="server" EnableViewState="False">
    <ItemTemplate>
    <table>
    <TR>
    <TD align="center">
    <asp:HyperLink Runat=server NavigateUrl='<%#DataBinder.Eval(Container.DataItem,"PostUserID","{0}")%>' Text='<%#DataBinder.Eval(Container.DataItem,"PostUserName")%>' ID="Hyperlink2" Target=_blank/>
    </TD>
    <TD style="BACKGROUND-COLOR: #f5f5f5" vAlign="top" align="center">
    <%#DataBinder.Eval(Container.DataItem,"childcnt")%>
    </TD>
    <TD align="center">
    <asp:TextBox id="TextBox1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"name")%>'/>
    </TD>
    </TR>
    </table>
    </ItemTemplate>
    <HeaderTemplate>
    </HeaderTemplate>
    <FooterTemplate>
    </FooterTemplate>
    </asp:repeater>后台
    string SqlCmd="select * from ZYJHYSJ order by jid desc ";
    ConStr=ConfigurationSettings.AppSettings["ConStr"];
    Conn=new SqlConnection(ConStr);
    SqlDataAdapter da=new SqlDataAdapter(SqlCmd,Conn);
    da.Fill(ds,"ZYJHYSJ");Repeater1.DataSource=dsBBS.Tables[0].DefaultView;
    Repeater1.DataBind();"PostUserID","PostUserName","name","childcnt"都是数据库里对应的字段名
      

  28.   

    string SqlCmd="select * from ZYJHYSJ order by jid desc ";
    ConStr=ConfigurationSettings.AppSettings["ConStr"];
    Conn=new SqlConnection(ConStr);
    SqlDataAdapter da=new SqlDataAdapter(SqlCmd,Conn);
    da.Fill(ds,"ZYJHYSJ");Repeater1.DataSource=ds.Tables[0].DefaultView;
    Repeater1.DataBind();"PostUserID","PostUserName","name","childcnt"都是数据库里对应的字段名
      

  29.   

    string SqlCmd="select * from ZYJHYSJ order by jid desc ";
    ConStr=ConfigurationSettings.AppSettings["ConStr"];
    Conn=new SqlConnection(ConStr);
    SqlDataAdapter da=new SqlDataAdapter(SqlCmd,Conn);
    da.Fill(ds,"ZYJHYSJ");Repeater1.DataSource=ds.Tables[0].DefaultView;
    Repeater1.DataBind();
    这个是仅仅是我给repeater的数据填充的数据绑定,因为这个repeater要显示ZYJHYSJ表数据的,而我的那个标记表是另一个数据库中的表,表名称SH(审核)其中有
    bsf(标识符key)
    bj(标记)
    就是开始是“尚未审核”的超链接,当我链接到审核页了,通过审核了我对应的这个标识符就要做个标记,当然就是bj这个字段要打上个标记,说明我已经通过审核了,返回前台那个页面
    那个“尚未审核”超链接就变成了一个红色的对勾,不能有链接了。
    因为repeater显示要的是ZYJHYSJ表,而审核那个标记页是个独立的表,所以我不知道这个SH表的数据怎么样填充,并进行绑定。是我开始没有叙述清楚,对不起哈~
      

  30.   

    ZYJHYSJ表与一定有关联吧,联合查询两个数据表填充dataset
    比如:
    ZYJHYSJ表 与 标记表tempselect ZYJHYSJ.PostUserID,ZYJHYSJ.PostUserName,ZYJHYSJ.ImgePath,temp.tag from ZYJHYSJ,temp where ZYJHYSJ.PostUserID=temp.IdPostUserID,PostUserName 。 对应绑定
      

  31.   

    有的第三方控件有这功能。
    实在不行可以用一种笨办法:
    用模板列,其中放一个LINKBUTTON控件一个IMAGE控件,在repeater显示时用FindControl("")方法找到两个控件并按照你读取出来的审核与否确定LinkButton的Visible属性,而Image的Visible属性是!(LinkButton.Visible)
      

  32.   

    我觉得这个问题,应该在SQL里面解决.
    假设你的审核与否,是某个字段记录,比如0/1,那么,你可以在SQL语句中直接绑定图标.比如:
    select id,title,decode(type,0,'<a href=xxx.aspx>待审核</a>','<img src=xxx.gif alt=已审核>') from table
    如此,直接绑定即可显示信息.
      

  33.   

    看了hchxxzx(NET?摸到一点门槛) 才有点明白你要什么:)这回试试如果对,建议你俩个表联合查询到dataset,在绑定Repeater1;select ZYJHYSJ.PostUserID,ZYJHYSJ.PostUserName,ZYJHYSJ.ImgePath,SH.bsf,SH.bj from ZYJHYSJ,SH where ZYJHYSJ.PostUserID=SH.bsfView.aspx?bsf={0}" View.aspx为你的审核页面,?bsf={0}为查询字符串
    <ASP:REPEATER id="Repeater1" runat="server">
    <HEADERTEMPLATE>
    </HEADERTEMPLATE>
    <FOOTERTEMPLATE>
    </FOOTERTEMPLATE>
    <ITEMTEMPLATE>
    <TABLE width="300" cellspacing="1" cellpadding="0" bgcolor="#000000">
    <TR bgcolor="#ffffff" align="center" height="40">
    <TD width="100">
    <%#DataBinder.Eval(Container.DataItem,"PostUserName","{0:D}")%>
    </TD>
    <TD width="200">
    <asp:HyperLink id="HyperLink1"  runat="server" navigateurl='<%#DataBinder.Eval(Container.DataItem,"bsf","View.aspx?bsf={0}")%>' visible='<%#DataBinder.Eval(Container.DataItem,"bj","{0}")=="1"?false:true%>'>未通过审核</asp:HyperLink>
    <asp:Image id='Image1' runat="server" enableviewstate="False" imageurl='001.gif' visible='<%#DataBinder.Eval(Container.DataItem,"bj","{0}")=="1"?true:false%>'/>
    </TD>
    </TR>
    </TABLE>
    </ITEMTEMPLATE>
    </ASP:REPEATER>private void Page_Load(object sender, System.EventArgs e)
    {
    DataTable dt=new DataTable();
    DataRow dRow;
    dt.Columns.Add("bj");
    dt.Columns.Add("PostUserName");
    dt.Columns.Add("bsf");
    for(int i=0;i<4;i++)
    {
    dRow=dt.NewRow();
    if(i%2==0)
    {
    dRow["bj"]="1";
    }
    else
    {
    dRow["bj"]="0";
    }
    dRow["PostUserName"]="name"+i.ToString();
    dRow["bsf"]=i.ToString();
    dt.Rows.Add(dRow);
    }
    Repeater1.DataSource=dt;
    Repeater1.DataBind();
    }
      

  34.   

    大家请不要着急,我问题解决了马上结贴~
    如果联合查询了 ,把两个表的结果都放到了DataSet()里面,我的repeater绑定了ds,是否那个HyperLink空间可以找到ds中的一列呢?因为我的这个HyperLink没有直接指定数据源,而是间接的通过绑定repeater绑定的,不知道是否可以?
      

  35.   

    我详细描述一下我这个流程吧:
    我是要建立这样的一个结构.
    1.在审核前必须要通过校验,初始状态 校验项为 待校验(超链接)  审核项为 尚未激活审核
    2.当有某项已经校验完成    状态     校验项   已校验(对勾图片)审核项为 待审核
    3.全部完成                状态     校验项   已校验(对勾图片)审核项为 已审核(对勾图片)
    表设计(大家帮忙看看结构是否合理)
    主表(ZYJHYSJ):我的项列表 里面列出了所有的项 key为bsf(标识符) 内容
    校验表(JY):用来标识我校验的状态  项 jyid(自动编号)bsf(对应主表的bsf)zt(状态)
    审核表(SH):标识审核状态         项 shid(自动编号)bsf(对应主表的bsf)zt(状态)
    对应表(DY):存放图片地址和超链接 项 dyid(自动编号)zt(对应JY,SH的zt)nr(内容)有 待校验、已校验(对勾图片)地址、尚未激活审核、待审核、已审核(对勾图片)地址
    大家看看这个表有问题吗设计的,谢谢大家关注~~
      

  36.   

    发现这真是个棘手的问题,如果只是校验或者只是审核还容易些,现在是联动的,而且还要向审核页或者是校验也传递bsf这个参数,就没有那么简单了??等待解决ing……
      

  37.   

    前面N人提到了直接输出HTML的嘛。
    就是这个样子:
    前端  <%=HtmlString%>后端:
    string HtmlString; //成员变量... 
    // 某个函数里
    HtmlString = "<a href=\"...\"">...</a>"
    有图的话,把<img src=...>加进去就可以了啊。
      

  38.   

    我要传递参数的,就是要?bsf=...
    这个帖子上边的第五个是详细的介绍,请看一下
    我觉得q_po_o还是可行的,只不过还要细化。
      

  39.   

    关于捕捉Repeater中的控件(比如说是CheckBox)是这样解决的:private void rt_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {

    l=(CheckBox)e.Item.FindControl("cb");
    if(l!=null)
    l.Checked=true;
    CheckBox c=(CheckBox)e.Item.FindControl("cb1");
    if(c!=null)
    {
    c.Checked=true;
    }
    }
    }
    这个已经测试通过了
      

  40.   

    fanweiwei 这个我还真是不太明白呢
    是不是我又个repeater假如叫rpt,
    那么我就可以在后台声明一个
    private void rpt_ItemDataBound(object sender,System.Web.UI.WebControls.RepeaterItemEventArgs e)
    {}
    的函数,那么当执行这个repeater的时候就可以自动执行了吗??
    不明白还是!!
      

  41.   

    q_po_o根据你这个我有思路了,但是现实要复杂哦,您看看这个上面第十个,我的详细说明,您看看我改怎么办呢?
      

  42.   

    主表(ZYJHYSJ):我的项列表 里面列出了所有的项 key为bsf(标识符) 内容
    校验表(JY):用来标识我校验的状态  项 jyid(自动编号)bsf(对应主表的bsf)zt(状态)
    审核表(SH):标识审核状态         项 shid(自动编号)bsf(对应主表的bsf)zt(状态)
    对应表(DY):存放图片地址和超链接 项 dyid(自动编号)zt(对应JY,SH的zt)nr(内容)有 待校验、已校验(对勾图片)地址、尚未激活审核、待审核、已审核(对勾图片)地址这些表应该有唯一关联呐!把上边的数据想办法联合查询到一个dataset里,然后绑定repeater,
    再跟据我的代码思路细化你的代码
      

  43.   

    我可以分开查询然后再Fill两次到这个dataset里面吗?
      

  44.   

    我终于知道怎么做了,谢谢你,我只是把主表ZYJHYSJ加了两列,一个是sh,一个是jy,然后把它们的初值一个设为1,一个设为3
    我准备把
    1.未校验
    2.对勾图片
    3.尚未激活审核
    4.待审核
    5.对勾图片
    6.审核不成功
    然后我在你写的那个
    <asp:HyperLink id="HyperLink1" runat="server" navigateurl='<%#DataBinder.Eval(Container.DataItem,"bsf","updata.aspx?bsf={0}")%>' visible='<%#DataBinder.Eval(Container.DataItem,"bj","{0}")=="1"?true:false%>'>未通过校验</asp:HyperLink>
    就这样类似
    <asp:Image id='Image1' runat="server" enableviewstate="False" imageurl='001.gif' visible='<%#DataBinder.Eval(Container.DataItem,"bj","{0}")=="2"?true:false%>'/>
    我的用SqlDataAdapter做的 所有我帮定的时候用的是<%#DataBinder.Eval(Container.DataItem,"bsf")%>可是刚才调试出了这样的问题NavigateUrl=updata.aspx?bsf=<%#DataBinder.Eval(Container.DataItem,"bsf")%>
    这句总是出错如果我这样
    NavigateUrl='updata.aspx?bsf=<%#DataBinder.Eval(Container.DataItem,"bsf")%>'
    那个标识符就不是库里的标识符例如:200011132而是<%#DataBinder.Eval(Container.DataItem,"bsf")%>
    如果我这样
    NavigateUrl=updata.aspx?bsf=<%#DataBinder.Eval(Container.DataItem,"bsf")%>
    报错,格式不对
    这样
    NavigateUrl='updata.aspx?bsf='<%#DataBinder.Eval(Container.DataItem,"bsf")%>
    也不对
    请帮我看看怎么回事啊??
      

  45.   

    是这样<asp:HyperLink id="HyperLink1" runat="server" navigateurl='<%#DataBinder.Eval(Container.DataItem,"bsf","updata.aspx?bsf={0,c}")%>' visible='<%#DataBinder.Eval(Container.DataItem,"bj","{0}")=="1"?true:false%>'>未通过校验</asp:HyperLink>---------------------------------------------------
    updata.aspx在里边
    navigateurl='<%#DataBinder.Eval(Container.DataItem,"bsf","updata.aspx?bsf={0,c}")%>
      

  46.   

    <asp:HyperLink id="jy_lk" runat="server"  NavigateUrl='<%#DataBinder.Eval(Container.DataItem,"bsf","updata.aspx?bsf={0,c}")%>' visible='<%#(DataBinder.Eval(Container.DataItem,"jy")).ToString()=="1"?true:false%>'>待校对...</asp:HyperLink>
    绑定情况
    string SqlCmd="select * from ZYJHYSJ order by jid desc ";
    SqlDataAdapter da=new SqlDataAdapter(SqlCmd,Conn);
    da=new System.Data.SqlClient.SqlDataAdapter(SqlCmd,Conn);
    ds=new DataSet();
    da.Fill(ds, "ZYJHYSJ");
    rpt.DataSource=ds;
    rpt.DataBind();
      

  47.   

    <asp:Image id='Image1' runat="server" enableviewstate="False" imageurl='001.gif' visible='<%#DataBinder.Eval(Container.DataItem,"bj","{0}")=="1"?true:false%>'/>比较下边你的<asp:HyperLink id="jy_lk" runat="server"  NavigateUrl='<%#DataBinder.Eval(Container.DataItem,"bsf","updata.aspx?bsf={0,c}")%>' visible='<%#(DataBinder.Eval(Container.DataItem,"jy")).ToString()=="1"?true:false%>'>待校对...</asp:HyperLink>
    ToString()是什么?
    jy是什么类型?
    字符-》()=="1"?
    数字-》()==1?
      

  48.   

    是的绑定后就可以找到你要的Repeater控件中所有的子控件了
      

  49.   

    谢谢各位着两天的支持,才能让这个问题顺利解决,谢谢大家了,非常感谢q_po_o,给了我极大的帮助,那么热心的帮助我,感激ing.....结贴啦~~~