在我的应用程序中,我从数据库中检索数据。在数据库中包含10条记录。但是当我在页面中显示记录时,它只显示一条记录。我想要显示所有10个记录的需要。我使用会话变量来存储和显示页面中的数据。我不希望任何控件绑定数据。我只想使用会话变量来存储和显示数据。下面我写代码。我知道会话存储只有一个值,但我希望会话存储多个值并显示多个数据。
.cs文件
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=Aarambh;Initial Catalog=rebuild_technology;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("select * from content_managment ", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
Session["divhtml_heading1"] = dr["divhtml_content"].ToString();
}
}
这里我在aspx页面显示数据。
源代码
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Home" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<% Response.Write(Session["divhtml_heading1"].ToString()); %>
</asp:Content>
答案 0 :(得分:1)
我建议将所有数据库内容存储在Custom对象中,如
List<string> lstOfDivHtml = new List<string>();
将内容存储在foreach循环中,如
foreach (DataRow dr in ds.Tables[0].Rows)
{
lstOfDivHtml.Add(dr["divhtml_content"].ToString());
}
你在forloop&amp;中填充lstOfDivHtml然后在for循环之后将其设置为会话一次,如
Session["divhtml_heading1"] = lstOfDivHtml
当您在页面上显示内容时,从Session&amp;中检索lstofDivHtml。将它显示在循环中
var list = Session["divhtml_heading1"] as List<string>; // now loop over 'list'.
P.S。
protected void Page_Load(object sender, EventArgs e)
{
//Define list
List<string> lstOfDivHtml = new List<string>();
SqlConnection con = new SqlConnection("Data Source=Aarambh;Initial Catalog=rebuild_technology;Integrated Security=True");
con.Open();
SqlCommand cmd = new SqlCommand("select * from content_managment ", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
foreach (DataRow dr in ds.Tables[0].Rows)
{
//add records from dr to lstOfDivHtml
lstOfDivHtml.Add(dr["divhtml_content"].ToString());
}
}
在页面标记或代码隐藏
<%
var list = Session["divhtml_heading1"] as List<string>;
foreach(var item in list )
{
Response.Write(item);
}
%>
现在不能比这更具体了:)
答案 1 :(得分:0)
快速肮脏的方式是使用:
Session["divhtml_heading1"] &= dr["divhtml_content"].ToString();
到追加行数据,而不是:
Session["divhtml_heading1"] = dr["divhtml_content"].ToString();
替换行数据。