2012-08-08 24 views
0

我有一个gridview动态绑定。我有一个链接按钮附加每一行,打开一个模式弹出窗口,我需要显示一些隐藏在gridview中的字段中的文本。从GridView中传递客户端id到javascript函数

我需要调用一个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函数被完美调用,它也正确设置弹出窗口中的标签值,但不知道为什么弹出窗口每次都是空白的。

欢迎任何形式的帮助。

感谢

+0

使用.NET,您可以使用客户端ID来获得在客户端以HTML格式呈现的客户端ID。你已经使用过它,一切都很好。我建议你检查一下你的Javascript不工作。 也许你可以发布已经生成的HTML。或者您可以使用Firebug检查它,看看正在产生什么。 – Rajesh 2012-08-08 10:15:48

+0

我的javascript工作正常我调试它的设置的值,但不知道为什么它不保留该值。它是否与链接按钮有关,因为它可能会回传并导致值丢失 – akhil 2012-08-08 10:18:54

回答

0

对于每一个的LinkBut​​ton或按钮不应触发回传你应该尝试添加:

OnClientClick="return false;" 

而且看看postback with jquery

相关问题