大概代码 :
 <asp:Repeater ID="ReList" runat="server">
    <ItemTemplate>
..
..
..
<a  id="a" runat="server"  href="#">
<a  id="b" runat="server"  href="#">...
...  </ItemTemplate> 
</asp:Repeater>
... <input id="pic" runat="server"  type="text"  />
问题:
1。 我想让 pic 值是1的时候 A就显示 B隐藏  pic 是2的时候 B显示 A隐藏
2. 具体怎么获取ID代码帮忙写下

解决方案 »

  1.   

    本帖最后由 net_lover 于 2010-10-21 16:59:56 编辑
      

  2.   

    另外,你想要客户端隐藏还是在服务器端提交 <input id="pic" runat="server" type="text" /> 后隐藏?
      

  3.   

    $("#pic").blur(function (){
    if($(this).val() == 1)
    {
    $("#testDIV > a").eq(0).css("display","none");
    }
    else
    {
    $("#testDIV > a").eq(1).css("display","none");
    }
    });
      

  4.   

    几张都没关系的。找到客户端id,执行
    document.getElementById("<%=a.ClientID%>").style.display="none"
      

  5.   

    $("#pic").blur(function (){
    if($(this).val() == 1)
    {
    $("#ReList > a").eq(0).css("display","none");
    }
    else
    {
    $("#ReList > a").eq(1).css("display","none");
    }
    });
      

  6.   

    function a()
    {
      var value=$("#pic").val();
      if(value=="1"){
       $("#a").css("display","");
    $("#b").css("display","none");  }else if(value=="2"){
       $("#b").css("display","");
       $("#a").css("display","none");  }
    }
      

  7.   

    服务器控件的id不是a或者b的
      $("#b")都是错误的
      

  8.   


    onload="javascript:Product.PriceClassload()Product.PriceClassload=function()
    {
        document.getElementById("<%=a.ClientID%>").style.display="none"} 
    是这样么??
      

  9.   


    $("#ReList > a").css("display", "none");
    应该可以隐藏所有的 a 标签了,实在不行可以用样式名控制
      

  10.   

    document.getElementById("<%=a.ClientID%>").style.display="none"
    报错了,说缺少对象!
      

  11.   

    可以将<a>标准放在label中,这样可以通过控制label的显示来控制该标签
      

  12.   


    不一定非要用ID,你可以用jquery的组合筛选器把a标签取出来!
      

  13.   

    //这样改下就可以了
    <a id="a"  href="#" style="display: <%= pic.Text=="1"?"":"none" %>" >
    <a id="b"  href="#" style="display: <%= pic.Text=="2"?"":"none" %>" >
      

  14.   

    服务器标记不能包含 <% ... %> 构造。
    <a id="a" href="#" style="display: <%= pic.Text=="1"?"":"none" %>" >
    报错勒
      

  15.   

    <a id="a" href="#" style="display: <%= pic.Text=="1"?"":"none" %>" >
    //我这可是去掉了runat="server"的哦,你自己看下
      

  16.   

    直接巷内样式:style="display:none;"
      

  17.   

    <%# Geturl(Eval("pic").ToString())%>
    public string Getur(string pic)
    {
    return "";
    }
    <%# Eval("pic").ToString().Equals("1")?"<A href ..":""%>
      

  18.   

    没有什么难的,主要你没有说清楚问题啊,。
    下面是客户端实现和服务器端实现的2种方法,直接拷贝即可运行客户端方法
    <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void Page_Load(object sender, EventArgs e)
      {
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("id", typeof(System.Int32)));
        dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("Score", typeof(System.Double)));
        System.Random rd = new System.Random();
        for (int i = 1; i < 6; i++)
        {
          dr = dt.NewRow();
          dr[0] = i;
          dr[1] = "【孟子E章】" + i.ToString();
          dr[2] = System.Math.Ceiling(rd.NextDouble() * 100);
          dt.Rows.Add(dr);
        }
        System.Data.DataView dv = new System.Data.DataView(dt);
        Repeater1.DataSource = dv;
        Repeater1.DataBind();  }  protected String x = "";
      protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
      {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
          HtmlAnchor a = e.Item.FindControl("a") as HtmlAnchor;
          HtmlAnchor b = e.Item.FindControl("b") as HtmlAnchor;
          x += "a.push('" + a.ClientID + "')" + Environment.NewLine;
          x += "b.push('" + b.ClientID + "')" + Environment.NewLine;
        }
      }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">  <script type="text/javascript">
        var a = [];
        var b = [];
        var pic = "<%=pic.ClientID %>";
        function ShowHidden() {
          if (document.getElementById(pic).value == "1") {
            for (i = 0; i < a.length; i++) {
              document.getElementById(a[i]).style.display = "none";
              document.getElementById(b[i]).style.display = "";
            }
          }
          else {
            for (i = 0; i < b.length; i++) {
              document.getElementById(b[i]).style.display = "none";
              document.getElementById(a[i]).style.display = "";
            }
          }
        }    
       <%=x %>
      </script></head>
    <body>
      <form id="form1" runat="server">
      <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
        <ItemTemplate>
          <li><a id="a" runat="server" href="#">
            <%#Eval("Name") %></a> | <a id="b" runat="server" href="#">
              <%#Eval("Score")%></a> </li>
        </ItemTemplate>
      </asp:Repeater>
      输入1或者2测试:<input id="pic" runat="server" type="text" />
      </form>
      <p>
        <input id="Button1" type="button" value="测试" onclick="ShowHidden()" /></p>
    </body>
    </html>服务器端实现方法
    <%@ Page Language="C#" EnableViewState="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void Page_Load(object sender, EventArgs e)
      {
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("id", typeof(System.Int32)));
        dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("Score", typeof(System.Double)));
        System.Random rd = new System.Random();
        for (int i = 1; i < 6; i++)
        {
          dr = dt.NewRow();
          dr[0] = i;
          dr[1] = "【孟子E章】" + i.ToString();
          dr[2] = System.Math.Ceiling(rd.NextDouble() * 100);
          dt.Rows.Add(dr);
        }
        System.Data.DataView dv = new System.Data.DataView(dt);
        Repeater1.DataSource = dv;
        Repeater1.DataBind();  }
      protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
      {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
          HtmlAnchor a = e.Item.FindControl("a") as HtmlAnchor;
          HtmlAnchor b = e.Item.FindControl("b") as HtmlAnchor;
          if (pic.Value == "1")
          {
            a.Style.Add("display", "none");
          }
          else
          {
            b.Style.Add("display", "none");
          }
        }
      }
    </script><html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    </head>
    <body>
      <form id="form1" runat="server">
      <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
        <ItemTemplate>
          <li><a id="a" runat="server" href="#">
            <%#Eval("Name") %></a> | <a id="b" runat="server" href="#">
              <%#Eval("Score")%></a> </li>
        </ItemTemplate>
      </asp:Repeater>
      输入1或者2测试:<input id="pic" runat="server" type="text" value="1" />
      <asp:Button ID="Button1" runat="server" Text="测试" />
      </form>
    </body>
    </html>
      

  19.   

    编译器错误消息: CS1061: “System.Web.UI.HtmlControls.HtmlInputText”不包含“Text”的定义,并且找不到可接受类型为“System.Web.UI.HtmlControls.HtmlInputText”的第一个参数的扩展方法“Text”(是否缺少 using 指令或程序集引用?)
      

  20.   

    //写错了,客户端Text应该改成 pic.Value