0

我有一个动态绑定的gridview。我在每一行都附加了一个链接按钮,它打开了一个模式弹出窗口,我需要显示一些文本,这些文本位于 gridview 的隐藏字段中。

我需要调用一个 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 + ");");

gridview 中的控件如下:

<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 回答