2017-06-27 24 views
0

私はこの質問が既に答えられていることを知っていますが、私の場合はどれもうまくいかないようです。リピータコントロールからJavascript関数を呼び出す方法

イメージボタンをクリックしたときにJSアラートを取得しようとしています。以下は私のコードです。

私はこのようなJSの機能を持っている:

<Demo:HtmlTemplates ID="HtmlTemplates1" runat="server"> 
     <ClientScriptTemplate> 
      <script type="text/javascript"> 

       function confirmDeleteNews() { 
        alert("Hi there");      
        return false; 
       } 

      </script> 
     </ClientScriptTemplate> 
    </Demo:HtmlTemplates> 

これはJS機能を起動する必要があり、リピータ内部の私のイメージのボタンです:

<asp:Repeater ID="RepeaterSystemNews" runat="server" EnableViewState="true" OnItemDataBound="RepeaterSystemNews_ItemDataBound"> 
      <ItemTemplate>   
       <div class="news-item">      
        <div class="news-item-title">      
         <asp:ImageButton runat="server" ID="deleteNews" ImageUrl="~/Images/delete.png" Visible="false" OnClientClick=" confirmDeleteNews();"/> 
       </div>   
      </ItemTemplate>      
    </asp:Repeater> 

そして、これは私がするためにのImageButtonをバインドする方法ですUIでそれを見てください:

protected void RepeaterSystemNews_ItemDataBound(object sender, RepeaterItemEventArgs e) 
     { 
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
      { 
       //Access the button control 
       ImageButton deleteNews = (ImageButton)e.Item.FindControl("deleteNews"); 

       User user = _IAuthService.GetCurrentUserWithRoles(); 
       if (user != null && user.Roles.Any(x => x.RoleID == (int)AdminRole.Admin)) 
       { 
        deleteNews.Visible = true; 
        //editNews.Visible = true;     
       } 
      } 
     } 

だから、画像ボタンをクリックすると、警告は決して上に似ていません私のJS関数は呼び出されません。この問題の解決策を今誰が持っていますか?ありがとう。

+0

アプリケーションでjQueryを使用していますか? – Praveen

+0

@Praveenいいえ、私はしません。 – KiZo

+0

ブラウザコンソールをクリックしたときにエラーが発生しましたか? – ADyson

答えて

0

問題は私がJSコードの中に<Demo:HtmlTemplates ID="HtmlTemplates1" runat="server">と呼んでいたことでした。コードの一部を削除すると、すべてうまくいった。

関連する問題