单击超链接javascript vb.net使图像按钮可见

时间:2014-01-20 13:11:20

标签: javascript asp.net vb.net imagebutton

我是javascript的新手,我真的需要一些帮助启动。这是一种情况。 我有一组超链接,显示点击图像。但我无法让它发挥作用。救命啊!

  <td>
  <asp:HyperLink ID="hyplnkcat" Text='<%#Eval("CategoryNameEn") %>' onclick="return MakeVisible(imgselect);" runat="server">HyperLink</asp:HyperLink>
  <asp:Label ID = "countcat" Text='' runat ="server">countcat</asp:Label>
  <asp:ImageButton ID="imgselect" runat ="server" Visible ="false" CommandArgument ='<%#Eval("CategoryNameEn") %>' ImageUrl="images/arrow_black.gif"/>
  </td>

   <td>
   <asp:Literal ID = "litcat" text='<%#Eval("CategoryCode") %>' Visible ="false" runat ="server" ></asp:Literal>
   </td>
.
.
.

      <script type="text/javascript">

           $("#hyplnkbrand").click(function MakeVisible(imgselect) {
           $("#imgselect").show("slow", function() {
                   // Animation complete.
               });
           });
      </script>

2 个答案:

答案 0 :(得分:0)

如果检查控件的渲染版本(即在Firefox中使用Firebug来检查HTML),您会注意到.NET控件的ID不再存在(但ID看起来类似'ctl00_ctlxxx_hyplnkcat')

由于Javascript通过浏览器绑定到客户端,因此无法激活jQuery,因为对于Javascript,您的控件不再存在于此...

此问题有多种选择:

1.您可以使用类名而不是ID来绑定您的jQuery代码(您需要将每个类添加到每个.NET控件并将所有ID替换为jQuery中的类):

<asp:HyperLink CssClass="hyplnkcat" ID="hyplnkcat" Text='<%#Eval("CategoryNameEn") %>' onclick="return MakeVisible(imgselect);" runat="server">HyperLink</asp:HyperLink>

$(".hyplnkbrand").click(function MakeVisible(...));

2.依赖于您正在使用的.NET Framework,您可以使用“ClientId”属性为元素生成固定ID名称,而不是.NET Frameworks版本。这样,ID就像它们应该在客户端那样,你应该能够绑定jQuery动作。

提示:不要使用.NET生成的ID绑定您的jQuery操作,因为这是由.NET自动生成的,并且每当您在UI中更改内容时都可能会更改。

答案 1 :(得分:0)

我认为您会发现问题是因为您已将ImageButton的Visiblity属性设置为false。

Visible ="false"

这将阻止它呈现给您的浏览器。

您需要做的是将style的{​​{1}}设置为ImageButtondisplay:none,然后您就可以使用JS找到您的元素。

然后你可以做类似

的事情
visibility:hidden