1

我有下面的代码。执行链接按钮 showVlaues javascript 函数的 onClientClick 事件。我试图在调试模式下跟踪代码,当我单击链接按钮时,调试器控件被转移到 showvalues 函数,然后它转到后面的代码并转到应用程序的页面加载事件,然后它又去了到 showvalues 函数,我不知道为什么会这样,但是在调试模式下,我可以看到它同时进入 $get 行,当我试图查看 dataitems 的值时,它 dataitems 没有在当前上下文中定义它会改变 showValues 的值。他们有什么办法可以避免控制不再进入显示值功能。当我单击链接按钮时,我希望它只执行一次。

任何帮助将不胜感激。

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title></title> 
    <script type="text/javascript"> 
       function showValues(IDValue, timeValue, minValue){ 
            var dataItems = $get('<%= PanelBar1.Items[0].Items[0].FindControl  ("Grid_IDPicker").ClientID %>')
            var lbl_ID = $get('<%= PanelBar1.Items[0].Items[0].FindControl("lbl_ID").ClientID %>');



        } 
     </script> 
</head> 
<body> 
     <form id="form1" runat="server"> 
    <div> 
    </div> 
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"  DataSourceID="SqlDataSource1" 
        EmptyDataText="There are no data records to display."> 
        <Columns> 
            <asp:BoundField DataField="id" HeaderText="id" SortExpression="id" /> 
            <asp:BoundField DataField="time" HeaderText="time" SortExpression="time" /> 
            <asp:BoundField DataField="min" HeaderText="min" SortExpression="min" /> 
            <asp:TemplateField> 
                <ItemTemplate> 
                    <asp:LinkButton ID="lnkClick" OnClientClick='<%#String.Format("return showValues({0},&#39;{1}&#39;,&#39;{2}&#39;)", Eval("id"),Eval("time"),Eval("min")) %>' runat="server"> <%# Eval("id") %></asp:LinkButton> 
                </ItemTemplate> 
            </asp:TemplateField> 
        </Columns> 
    </asp:GridView> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TestDBConnectionString1 %>" 
            ProviderName="<%$ ConnectionStrings:TestDBConnectionString1.ProviderName %>" 
         SelectCommand="SELECT [id], [time], [min] FROM [name]"></asp:SqlDataSource> 
         </form> 
         </body> 
        </html>
4

0 回答 0