如何从asp.net中的一个页面(数据绑定)获取数据到另一个页面的文本框

时间:2013-04-26 10:24:27

标签: asp.net vb.net visual-studio-2008

假设我有两个.aspx页面和sql server数据库引擎的连接。

第一页,我们称之为playground.aspx,我有一组数据绑定,它使用SELECT函数的存储过程(使用数据集)。

现在在第二页,我们称之为link.aspx,有两个文本框,假设playground.aspx页面中有多个数据,我想检索实体代码和用户名数据(来自playground.aspx的数据绑定)并在link.aspx的文本框中显示。

我该怎么做? 我被告知要创建一些函数,但我以前从未处理过数据绑定,只有TextBox和Label,它真的让我感到困惑。

感谢任何帮助,谢谢。

  

编辑(这是数据绑定代码)

 <asp:Panel ID="PanelDGV" runat="server" Height="100%" ScrollBars="None" Width="100%">
                                        <asp:GridView ID="DGV" runat="server" AutoGenerateColumns="False" GridLines="None"
                                            AllowPaging="true" PageSize="2" CssClass="mGrid" PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt">
                                            <Columns>
                                                <asp:BoundField DataField="EntityCode" HeaderText="Entity Code" />
                                                <asp:BoundField DataField="UserName" HeaderText="Username" />
                                                <asp:BoundField DataField="DivCode" HeaderText="Div Code" />
                                                <asp:BoundField DataField="GroupCode" HeaderText="Group Code" />
                                                <asp:BoundField DataField="CreatedBy" HeaderText="Created By" />
                                                <asp:BoundField DataField="CreatedOn" HeaderText="Created On" />
                                                <asp:BoundField DataField="ModifiedBy" HeaderText="Modified By" />
                                                <asp:BoundField DataField="ModifiedOn" HeaderText="Modified On" />
                                                <asp:ButtonField ButtonType="Image" ImageUrl="../Support/Image/Edit.png" ItemStyle-HorizontalAlign="Center"
                                                    CommandName="CmdEdit" HeaderText="Edit">
                                                    <ItemStyle HorizontalAlign="Center"></ItemStyle>
                                                </asp:ButtonField>
                                            </Columns>
                                            <PagerStyle CssClass="pgr"></PagerStyle>
                                            <AlternatingRowStyle CssClass="alt"></AlternatingRowStyle>
                                        </asp:GridView>
                                    </asp:Panel>

1 个答案:

答案 0 :(得分:0)

我刚刚解决了问题,这是代码

对于link.vb

Public Function F01_sysUser_Select(ByVal EntityCode As String, ByVal Username As String) As ProcessResult
    Try
        Dim SqlCmd As New SqlCommand()
        SqlCmd.Connection = New SqlConnection(CF.CfgConnectionString)
        SqlCmd.CommandType = CommandType.StoredProcedure
        SqlCmd.CommandTimeout = CF.CfgCommandTimeout
        SqlCmd.CommandText = "sysUser_SelectByID"
        SqlCmd.Parameters.Add("@EntityCode", SqlDbType.VarChar) : SqlCmd.Parameters(0).Value = EntityCode

        SqlCmd.Connection.Open()

        Dim Dr As SqlDataReader = SqlCmd.ExecuteReader(CommandBehavior.CloseConnection)
        F01_Dt_sysUser.Clear()
        F01_Dt_sysUser.Load(Dr)

        If F01_Dt_sysUser.Rows.Count > 0 Then
            Dr.Close()
            Dr = Nothing
            SqlCmd.Dispose()
            Return ProcessResult.SuccessWithResult
        Else
            Dr.Close()
            Dr = Nothing
            SqlCmd.Dispose()
            Return ProcessResult.SuccessWithNoResult
        End If

    Catch ex As Exception
        InsertErrorLog("PlaygroundLink.F01_sysUser_Select", ex.Message)
        ExMessage = ex.Message
        Return ProcessResult.Failed
    End Try

End Function

并在link.aspx.vb中:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim QSEntityCode As String
    Dim QSUserName As String
    QSEntityCode = Request.QueryString("QSEC").ToString
    QSUserName = Request.QueryString("QSUN").ToString

    Dim Bl As New PlaygroundLink
    If Bl.F01_sysUser_Select(QSEntityCode, QSUserName) = CF.ProcessResult.SuccessWithResult Then
        TbEntityCode.Text = QSEntityCode
        TbUsername.Text = QSUserName
    Else
        ' LblMessage.Text = Bl.ExMessage
    End If
End Sub

最后在playground.aspx.vb:

Private Sub DGV_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles DGV.RowCommand
    If e.CommandName = "CmdEdit" Then
        Dim QSEntityCode As String
        Dim QSUserName As String
        Dim idx As Integer = Convert.ToInt32(e.CommandArgument)
        Dim row As GridViewRow = DGV.Rows(idx)
        QSEntityCode = row.Cells(0).Text
        QSUserName = row.Cells(1).Text
        Response.Redirect(RR.PlaygroundLink & "?QSEC=" & QSEntityCode & "&QSUN=" & QSUserName)
    End If
End Sub

之后,我得到了我想要的东西,在link.aspx文本框中显示结果,欢呼! :)