以下のコードがあります。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},'{1}','{2}')", 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>