javascript
  • c#
  • html
  • asp.net
  • 2016-07-04 2 views 0 likes 
    0

    で実行できません:のLinkBut​​tonのOnClickは、私は、以下のリンクボタンを持つ(C#を使用して)私のasp.netアプリケーションでは、データ・ターゲットおよびデータ・トグル

    <asp:LinkButton ID="btnSelectPhoto" runat="server" Width="120" style="display:inline-block; margin:5px;" 
        CausesValidation="false" 
        CommandArgument='<%# Eval("Id") + "," + Eval("Name") + "," + Eval("Description") + "," + Eval("Path") + "," + Eval("DateCreated") %>' 
        OnClick="btnSelectPhoto_Click" 
        data-toggle="modal" data-target="#album-photo" > 
    
        ... 
    
    </asp:LinkButton> 
    

    data-toggledata-target属性は、それを提示し現在にOnClickイベント(ブレークポイントは発生しません)を発生させるようではありません。

    data-toggledata-target属性を削除すると、イベントは完全に正常ですが、データトグルとデータターゲットが存在する必要があります。私のOnClickイベントの最後のコードに、data-toggledata-targetの機能がありますか?それとも、私の問題の他の解決策ですか?

    答えて

    0

    解決策が見つかりました。 OnClickイベントの最後に次のコード行を追加しましたが、今はすべて完璧に機能します。

    ClientScript.RegisterStartupScript(GetType(), "Show", "<script> $('#album-photo').modal('toggle');</script>"); 
    
    +0

    「現在のコンテキスト内に存在しない」ですので、私は私のリンクボタンがListViewのItemTemplateに内部にあることを言及しませんでした。 –

    0

    ページのOnInitメソッドで属性をバインドすると、指定した属性でレンダリングされるようにバインドできます。また、必要に応じてバックエンドでもその属性が認識されます。

    サンプル:

    protected override void OnInit(EventArgs e) 
        { 
         base.OnInit(e); 
         btnSelectPhoto.Attributes.Add("data-toggle", "modal"); 
         btnSelectPhoto.Attributes.Add("data-target", "#album"); 
        } 
    

    編集:あなたは、これはリストビュー上で述べたように、上記の溶液でもうまくいく、それは少しハックですが、この

    protected void Page_Load(object sender, EventArgs e) 
        { 
    
         this.ListView1.DataSource = new[] { 1, 2, 3, 4, 5 }; 
         this.ListView1.DataBind(); 
        } 
    
        protected void Button1_Init(object sender, EventArgs e) 
        { 
         var dataList = ListView1.DataSource as IEnumerable<int>; 
         var senderButton = (sender as Button); 
         var data = (senderButton.NamingContainer as ListViewItem).DataItem; 
         senderButton.Attributes.Add("data-x", data.ToString()); 
        } 
    

    ようにそれを行うことができますデータは、このテンプレートボタンのListViewにバインドされたデータです。

    +0

    それはあなたが興味を持っている場合、私はまた、別のソリューションを追加しました –

    関連する問題