我在web.aspx页面中有四个文本框(一个用来输入查询条件,三个用来输出查询结果),一个查询按钮 我想达到的目的是按一下按钮,输出datatable中的第一条记录,再按一下,输出第二条。 我在web.aspx.vb中写了如下代码: 在声明中 Dim dt As New Data.DataTable
Dim da As New System.Data.SqlClient.SqlDataAdapter
Dim i as int 在page_load中 Dim sel As String = D1.Text
Dim sqlcom As String
sqlcom = "Select * from test where ([select] ='" & sel & "')" Dim conn As New Data.SqlClient.SqlConnection
conn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString") Dim myCommand As New Data.SqlClient.SqlCommand(sqlcom, conn)
conn.Open() da.SelectCommand = myCommand
da.Fill(dt) i = dt.Rows.Count - 1 在Button1_Click中 tb1.Text = dt.Rows(i)("select")
tb2.Text = dt.Rows(i)("textbox")
tb3.Text = dt.Rows(i)("label") i = i - 1
现在执行后,按一下,第一条记录在三个文本框出来了,没有问题,但是在按一下仍然是第一条记录,好像按好按钮系统会自动执行page_load,最后的i = i - 1白执行了。有什么办法可以解决这个问题么?
Dim da As New System.Data.SqlClient.SqlDataAdapter
Dim i as int 在page_load中 Dim sel As String = D1.Text
Dim sqlcom As String
sqlcom = "Select * from test where ([select] ='" & sel & "')" Dim conn As New Data.SqlClient.SqlConnection
conn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString") Dim myCommand As New Data.SqlClient.SqlCommand(sqlcom, conn)
conn.Open() da.SelectCommand = myCommand
da.Fill(dt) i = dt.Rows.Count - 1 在Button1_Click中 tb1.Text = dt.Rows(i)("select")
tb2.Text = dt.Rows(i)("textbox")
tb3.Text = dt.Rows(i)("label") i = i - 1
现在执行后,按一下,第一条记录在三个文本框出来了,没有问题,但是在按一下仍然是第一条记录,好像按好按钮系统会自动执行page_load,最后的i = i - 1白执行了。有什么办法可以解决这个问题么?
解决方案 »
- 超级菜鸟问题!
- 求大侠 看下IIS 问题
- 做一个模糊查询不知道怎么弄
- 国外的一个c#开源通用蜘蛛程序!带索引程序!少有的东西!有兴趣的研究下
- 如何返回多个值???????
- 初学者关于Microsoft Visual Studio .NET 2003的问题?在线等待中...先谢了:)
- 我想点击某个服务器控件的时候,另一个服务器控件显示出来(原来是隐藏的),可是页面要重新刷一下,滚动条就滚动到起始的位置,这样看起
- 怎样使用DataList控件内嵌数据绑定自定义控件更新数据库内容?
- 关于freetextbox的问题
- Aap.net下創建Web用戶控件時聲明自定義事件出錯,高手請進!
- JS控制光标问题
- DataGrid绑定输出后标题ID如何传值
if(!Page.IsPostBack)
{
绑定数据
}
自然就要读取page_load事件了咯先用Page.IsPostBack判断是否是首次载入页面
Dim i As Integer
If (Page.IsPostBack = False) Then
Dim sel As String = D1.Text
Dim sqlcom As String
sqlcom = "Select * from test where ([select] ='" & sel & "')" Dim conn As New Data.SqlClient.SqlConnection
conn.ConnectionString = ConfigurationSettings.AppSettings("ConnectionString") Dim myCommand As New Data.SqlClient.SqlCommand(sqlcom, conn)
conn.Open() da.SelectCommand = myCommand
da.Fill(dt) i = dt.Rows.Count - 1 If Session("i") Is Nothing Then
Session("i") = i
End If
End If
End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer = CType(Session("i"), Integer) tb1.Text = dt.Rows(i)("select")
tb2.Text = dt.Rows(i)("textbox")
tb3.Text = dt.Rows(i)("label") i = i - 1 Session("i") = i End Sub
这个MS不是VB语句吧?
{
绑定数据;
}
再价格变量对应所有记录数,如
Dim count as int
然后再page_load里面加上代码
if(!IsPostback)
{
count = dt.Rows.Count - 1;
i= count;
}
就可以了。
if(!this.IsPostBack)
{
//绑定数据;
}