1

以下のコードがあります。linkbuttonshowVlauesjavascript関数のonClientClickイベントが実行されます。デバッグモードでコードをトレースしようとしましたが、リンクボタンをクリックすると、debuugerコントロールがshowvalues関数に転送され、コードビハインドに移動してアプリケーションのページ読み込みイベントに移動し、再び移動しますshowvalues関数では、なぜそうなるのかわかりませんが、デバッグモードでは、$ get行の両方に移動し、dataitemsの値を確認しようとすると、dataitemsが現在のコンテキストで定義されていないことがわかります。そしてそれはshowValuesの値を変更します。コントロールが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