我是Asp.net的新手。我创建了一个登录页面,用于检索DataTable中的用户信息。我将此信息存储在会话变量中。
这是代码:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;
using System.Web.Configuration;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select * from UserTable where UserName =@username and Password=@password", con);
cmd.Parameters.AddWithValue("@username", txtUserName.Text);
cmd.Parameters.AddWithValue("@password", txtPWD.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Session["userdata"] = dt;
Response.Redirect("Home.aspx");
}
else
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>");
}
}
}
现在想要在Home.aspx中显示DataTable信息。我怎么能这样做?
答案 0 :(得分:3)
使用gridview ..
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
在运行时,它仅呈现为表..
然后
GridView1.DataSource=Session[userdata];
GridView1.DataBind();
答案 1 :(得分:2)
Home.aspx
<asp:Label ID="lblUserName" runat="server" />
背后的代码
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt=new DataTable();
dt= (DataTable)Session["userdata"] ;
lblUserName.Text=dt.Rows[0]["UserName"].ToString();//your cloumn name;
}
答案 2 :(得分:1)
您可以使用Home.aspx
上的以下某项检索数据表DataTable dtTable = Session["userdata"] as DataTable
或
DataTable dtTable= (DataTable)Session["userdata"];
提取数据
dtTable.rows[rowindex][columnindex] // Ex: dtTable.rows[0][0]
或者如果你知道列名
dtTable.rows[rowindex][columnname] // Ex: dtTable.rows[0]["yourColumnName"]
答案 3 :(得分:1)
在Home.aspx
您可以按照以下方式执行
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = (DataTable)Session["userdata"]
gridview.DataSource =dt;
gridview.DataBind();
}
答案 4 :(得分:1)
在您的Home.aspx中添加您要显示的有关用户的信息的标签。假设您要显示用户名,然后添加:
<asp:Label ID="lblUserName" runat="server" />
在后面的代码中,添加:
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = (DataTable)Session["userdata"] ;
lblUserName.Text = dt.Rows[0]["UserName"].ToString();
}