2017-03-18 3 views
-1

リンクボタンでマウスを動かすとhimageSourceコントロール値を見つける方法。jQueryを使用してネストされたリピータコントロール値を見つけよう

<asp:Repeater ID="rptMain" runat="server"> 
    <ItemTemplate> 
     <asp:Label ID="lblName" runat="server"></asp:Label> 
     <asp:Repeater ID="prtSub" runat="server"> 
      <ItemTemplate> 
       <asp:HyperLink ID="hlProductName" runat="server"></asp:HyperLink> 
       <asp:HiddenField ID="himageSource" runat="server" /> 
      </ItemTemplate>    
     </asp:Repeater> 
    </ItemTemplate>  
</asp:Repeater> 
+0

あなたは何をしたいですか? databoundイベントを使用して、マウスオーバーイベントをフックできます。 –

+0

私はダイナミックなメニューのWebアプリケーションでリピータコントロールを使用する必要があります。ユーザーがリンクにマウスを置くと、hiddenfiedの値を取得し、この値を使用してproduct imageを表示したいと思います。 – user2156791

答えて

0

ハイパーリンクと非表示フィールドの両方にclass属性を追加します。

<ItemTemplate> 
    <asp:HyperLink ID="hlProductName" runat="server" CssClass="hlproductcls"></asp:HyperLink> 
    <asp:HiddenField ID="himageSource" runat="server" CssClass="hdnimg"/> 
</ItemTemplate> 

これで、このようなことができます。

$(function() { 
      $(".hlproductcls").on("mouseover", function (e) {     
       e.preventDefault(); 
       var val = $(this).next(".hdnimg").val();  
       return true; 
      }); 
    }); 

それ以外の場合は、データバインドされたイベントをキャプチャします。

protected void innerRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) 
    { 
    HyperLink hyp = (HyperLink)e.Item.FindControl("hlProductName"); 
    hyp.Attributes.Add("onmouseover", "getValue('" + hyp.ID + "')"); 
    } 
} 
+0

上記の溶液は上手く動作します – user2156791

関連する問題