将网格视图中的客户端ID传递给javascript函数

时间:2012-08-08 10:07:46

标签: c# javascript asp.net gridview modalpopupextender

我有一个动态绑定的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函数被完美地调用,它也正确地设置了弹出式面板中标签的值,但不确定每次弹出窗口为空的原因。

欢迎任何形式的帮助。

由于

1 个答案:

答案 0 :(得分:0)

对于不应触发回发的每个链接按钮或按钮您应该尝试添加:

OnClientClick="return false;"

另请查看postback with jquery