私は ASP.NET と AJAX を初めて使用するので、完全に間違った方法で作業している可能性があります。
これは現時点ではすべてテスト中です。データベースにアクセスして値を更新する onclick 関数を備えた updatepanel があります。リンクボタンを押して、ページのクライアント ID を更新しようとしています。これは最初のクリックでは正常に機能しますが、その後のクリックでは明らかにサーバー側のデータが読み取られ、更新されたクライアント側のデータは読み取られません。クライアント ID の更新された値をリンクボタンのクリック関数に戻す必要があります。
ASPXコード
<form id="form1" runat="server">
<asp:toolkitscriptmanager ID="ToolkitScriptManager1" runat="server">
</asp:toolkitscriptmanager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LinkButton1" EventName="click" />
</Triggers>
<ContentTemplate>
<div class="topbox">
<h3>Client</h3>
<div style="float:left">
<p>
<asp:Label ID="Label1" runat="server" Text="ClientID" Width="150px"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</p>
<asp:LinkButton ID="LinkButton1" runat="server">next --></asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</form>
ASPX.VBコード
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Open_database(1)
End Sub
Public Sub Open_database(e)
Dim SQLConn As New SqlConnection()
'The SQL Connection
Dim SQLCmd As New SqlCommand()
'The SQL Command
Dim SQLdr As SqlDataReader
'The Local Data Store
SQLConn.ConnectionString = xxxx
'Set the Connection String
SQLConn.Open()
'Open the connection
SQLCmd.Connection = SQLConn
'Sets the Connection to use with the SQL Command
SQLCmd.CommandText = "Select * from Client where clientid='" & e & "'"
'Sets the SQL String
SQLdr = SQLCmd.ExecuteReader
'Gets Data
While SQLdr.Read()
TextBox1.Text = (SQLdr("ClientID"))
End While
' Do While SQLdr.NextResult()
'Move to the Next Record
SQLdr.Close()
'Close the SQLDataReader
SQLConn.Close()
'Close the connection
End Sub
Protected Sub LinkButton1_Click(sender As Object, e As EventArgs) Handles LinkButton1.Click
Dim x = TextBox1.Text + 1
Open_database(x)
End Sub
どんな助けでも大歓迎です、
トゥン