0

動的にバインドするグリッドビューがあります。グリッドビューの非表示フィールドにあるテキストを表示する必要があるモーダルポップアップウィンドウを開くすべての行にリンクボタンが添付されています。

非表示フィールドのテキストでポップアップ パネルのラベルの値を設定する JavaScript 関数を呼び出す必要があります。問題は、ポップアップが表示されるときに値が常に空白になることです。

Javaスクリプトコードは -

  function SetNotesonModal(note)
   {
        //debugger;
        var notes = document.getElementById(note.id).innerHTML;
        document.getElementById('ctl00_ContentPlaceHolder1_popupLblNote').value = notes;
   }

関数を呼び出すためのコードは -

lnkViewNotes.Attributes.Add("OnClick", "return SetNotesonModal(" + e.Row.FindControl("lblNote").ClientID + ");");

グリッドビューのコントロールは次のとおりです-

<ItemTemplate>
     <asp:Label ID="lblNote" runat="server" Text='<%# Bind("notes") %>'></asp:Label>
     <asp:LinkButton ID="lnkViewNotes" runat="server">View</asp:LinkButton>
     <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="lnkViewNotes" PopupControlID="Panel2" CancelControlID="popupBtnClose">
     </asp:ModalPopupExtender>
</ItemTemplate>

そして、ポップアップのパネルは -

<asp:Panel ID="Panel2" runat="server" ScrollBars="Auto" align="center" Style="display: none"
    CssClass="modalPopup">
    <table class="border" style="text-align: left; height: 100%" width="100%">
        <tr align="left" style="background-color: #5D7B9D; color: White">
            <th>
                Notes
            </th>
        </tr>
        <tr>
            <td>
                <asp:Label ID="popupLblNote" runat="server"></asp:Label>
            </td>
        </tr>
        <tr>
            <td>
                <asp:Button ID="popupBtnClose" runat="server" Text="Close" />
            </td>
        </tr>
    </table>
</asp:Panel>

JavaScript関数は完全に呼び出されており、ポップアップパネルのラベルの値も正しく設定されていますが、ポップアップが毎回空白になる理由はわかりません.

どんな種類の助けも大歓迎です。

ありがとう

4

1 に答える 1

0

ポストバックをトリガーしてはならないすべてのリンクボタンまたはボタンに対して、以下を追加してみてください。

OnClientClick="return false;"

jqueryを使用したポストバックもご覧ください

于 2012-08-08T11:13:18.037 に答える