同じページに複数のデータリストがあります。ユーザーはレコードをクリックすると、ページを表示して情報を表示するようにリダイレクトされます。. クエリ文字列を使用して、クリックしたレコードの ID を送信してページを表示しました... 問題は、ID EX: 17 のレコードを選択したときです。 :17 クリックされたものの代わりにそれを置き換えます!
私はc#/ Asp.net 4.0フレームワーク/ SQLサーバー2008を使用しています
これが私のコードです
StartPage.aspx (DataLists ページ):
public partial class MainMasterStartPage : System.Web.UI.Page
{
protected SqlConnection _connection;
protected SqlCommand _command;
protected SqlDataAdapter _adp;
protected System.Data.DataTable _tbl;
protected void Page_Load(object sender, EventArgs e)
{
if (!(this.IsPostBack))
{
// For News DataList
prepareConnection();
_command.CommandText = "select top 5 * from News ORDER BY id DESC";
_adp = new SqlDataAdapter();
_tbl = new System.Data.DataTable();
_adp.SelectCommand = _command;
_adp.Fill(_tbl);
dlNews.DataSource = _tbl;
dlNews.DataBind();
// For Sports DataList
prepareConnection();
_command.CommandText = "select top 5 * from Sports ORDER BY id DESC";
_adp = new SqlDataAdapter();
_tbl = new System.Data.DataTable();
_adp.SelectCommand = _command;
_adp.Fill(_tbl);
dlSports.DataSource = _tbl;
dlSports.DataBind();
// For Technology DataList
prepareConnection();
_command.CommandText = "select top 5 * from Technology ORDER BY id DESC";
_adp = new SqlDataAdapter();
_tbl = new System.Data.DataTable();
_adp.SelectCommand = _command;
_adp.Fill(_tbl);
dlTechnology.DataSource = _tbl;
dlTechnology.DataBind();
// For Articles DataList
prepareConnection();
_command.CommandText = "select top 5 * from Articles ORDER BY id DESC";
_adp = new SqlDataAdapter();
_tbl = new System.Data.DataTable();
_adp.SelectCommand = _command;
_adp.Fill(_tbl);
dlArticles.DataSource = _tbl;
dlArticles.DataBind();
// For Islamics DataList
prepareConnection();
_command.CommandText = "select top 5 * from Islamics ORDER BY id DESC";
_adp = new SqlDataAdapter();
_tbl = new System.Data.DataTable();
_adp.SelectCommand = _command;
_adp.Fill(_tbl);
dlIslamics.DataSource = _tbl;
dlIslamics.DataBind();
}
}
protected void prepareConnection()
{
_connection = new SqlConnection(@"Data Source=SONIC-PC\SQLEXPRESS;Initial Catalog=BrainStorms;User ID=sa;Password=gg123");
_connection.Open();
_command = new SqlCommand();
_command.Connection = _connection;
}
すでにクリックされているレコードを表示するビューページ:
public partial class View : System.Web.UI.Page
{
protected SqlCommand News_command;
protected SqlCommand Sports_command;
protected SqlCommand Technology_command;
protected SqlCommand Articles_command;
protected SqlCommand Islamics_command;
protected SqlDataAdapter News_adp;
protected SqlDataAdapter Sports_adp;
protected SqlDataAdapter Technology_adp;
protected SqlDataAdapter Articles_adp;
protected SqlDataAdapter Islamics_adp;
protected System.Data.DataTable News_tbl;
protected System.Data.DataTable Sports_tbl;
protected System.Data.DataTable Technology_tbl;
protected System.Data.DataTable Articles_tbl;
protected System.Data.DataTable Islamics_tbl;
protected SqlConnection _connection;
protected string _ID;
protected void Page_Load(object sender, EventArgs e)
{
if ((Request.QueryString["ID"] != null))
{
_ID = Request.QueryString["ID"].ToString();
}
//for The News dataList
prepareConnection();
News_command.CommandText = "select * from News where ID=@ID";
News_command.Parameters.AddWithValue("ID", _ID);
News_adp = new SqlDataAdapter();
News_tbl = new System.Data.DataTable();
News_adp.SelectCommand = News_command;
News_adp.Fill(News_tbl);
if (News_tbl.Rows.Count > 0)
{
lblID.Text = News_tbl.Rows[0]["ID"].ToString();
lblTitle.Text = News_tbl.Rows[0]["Title"].ToString();
lblContent.Text = News_tbl.Rows[0]["Contect"].ToString();
}
//For The Sports DataList
prepareConnection();
Sports_command.CommandText = "select * from Sports where ID=@ID";
Sports_command.Parameters.AddWithValue("ID", _ID);
Sports_adp = new SqlDataAdapter();
Sports_tbl = new System.Data.DataTable();
Sports_adp.SelectCommand = Sports_command;
Sports_adp.Fill(Sports_tbl);
if (Sports_tbl.Rows.Count > 0)
{
lblID.Text = Sports_tbl.Rows[0]["ID"].ToString();
lblTitle.Text = Sports_tbl.Rows[0]["Title"].ToString();
lblContent.Text = Sports_tbl.Rows[0]["Contect"].ToString();
}
//for The Technology DataList
prepareConnection();
Technology_command.CommandText = "select * from Technology where ID=@ID";
Technology_command.Parameters.AddWithValue("ID", _ID);
Technology_adp = new SqlDataAdapter();
Technology_tbl = new System.Data.DataTable();
Technology_adp.SelectCommand = Technology_command;
Technology_adp.Fill(Technology_tbl);
if (Technology_tbl.Rows.Count > 0)
{
lblID.Text = Technology_tbl.Rows[0]["ID"].ToString();
lblTitle.Text = Technology_tbl.Rows[0]["Title"].ToString();
lblContent.Text = Technology_tbl.Rows[0]["Contect"].ToString();
}
//For The Articles DataList
prepareConnection();
Articles_command.CommandText = "select * from Articles where ID=@ID";
Articles_command.Parameters.AddWithValue("ID", _ID);
Articles_adp = new SqlDataAdapter();
Articles_tbl = new System.Data.DataTable();
Articles_adp.SelectCommand = Articles_command;
Articles_adp.Fill(Articles_tbl);
if (Articles_tbl.Rows.Count > 0)
{
lblID.Text = Articles_tbl.Rows[0]["ID"].ToString();
lblTitle.Text = Articles_tbl.Rows[0]["Title"].ToString();
lblContent.Text = Articles_tbl.Rows[0]["Contect"].ToString();
}
//For The Islamics DataList
prepareConnection();
Islamics_command.CommandText = "select * from Islamics where ID=@ID";
Islamics_command.Parameters.AddWithValue("ID", _ID);
Islamics_adp = new SqlDataAdapter();
Islamics_tbl = new System.Data.DataTable();
Islamics_adp.SelectCommand = Islamics_command;
Islamics_adp.Fill(Islamics_tbl);
if (Islamics_tbl.Rows.Count > 0)
{
lblID.Text = Islamics_tbl.Rows[0]["ID"].ToString();
lblTitle.Text = Islamics_tbl.Rows[0]["Title"].ToString();
lblContent.Text = Islamics_tbl.Rows[0]["Contect"].ToString();
}
}
protected void prepareConnection()
{
_connection = new SqlConnection(@"Data Source=SONIC-PC\SQLEXPRESS;Initial Catalog=BrainStorms;User ID=sa;Password=gg123");
_connection.Open();
News_command = new SqlCommand();
News_command.Connection = _connection;
Sports_command = new SqlCommand();
Sports_command.Connection = _connection;
Technology_command = new SqlCommand();
Technology_command.Connection = _connection;
Articles_command = new SqlCommand();
Articles_command.Connection = _connection;
Islamics_command = new SqlCommand();
Islamics_command.Connection = _connection;
}
}
StartPage.aspx ソースは次のとおりです。
<%@ Page Title="" Language="C#" MasterPageFile="MainMaster.master" AutoEventWireup="true"
CodeFile="StartPage.aspx.cs" Inherits="MainMasterStartPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="MainLatest">
<div id="mainNews" style="clear: both; text-decoration: none; color: Black; text-align: right;
direction: rtl; width: auto; height: auto; margin-right: 0px; float: right; margin-top: 5px;
border-bottom: 1px solid #7F2423;">
<div id="news" style="border: 1px solid black; margin-bottom: 15px;background-color: #EAE9E4;">
<h3 style="background-color: #35496A; color: white; text-align: center; width: 650px;
float: right; border-bottom: 4px solid #7F2423; margin-bottom: 8px; padding-right: 5px;">
آخر الأخبار</h3>
<asp:DataList ID="dlNews" runat="server">
<ItemTemplate>
<a href='./NewsView.aspx?ID=<%#Eval("ID") %>' style="text-decoration: none;">
<div id="123">
<div id="image" style="clear: both; float: right; margin: 0 5px 10px 10px;">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/epica.jpg" Style="height: 70px;
width: 130px; border: 1px solid black;" />
</div>
<div id="title" style="position: relative; float: right; top: -14px; right: 0px;
height: 69px;">
<asp:Label ID="lblTitle" runat="server" Text='<%#Eval("Title") %>' Style="font-size: 15px;
font-weight: bold; line-height: 110px; "></asp:Label>
</div>
</div>
</a>
</ItemTemplate>
</asp:DataList>
</div>
<div id="sports" style="border: 1px solid black; margin-bottom: 15px;background-color: #EAE9E4;">
<h3 style="background-color: #03C0F8; text-align: center; color: white; width: 650px;
float: right; border-bottom: 4px solid #7F2423; margin-bottom: 8px; padding-right: 5px;">
الرياضة</h3>
<asp:DataList ID="dlSports" runat="server">
<ItemTemplate>
<a href='./SportsView.aspx?ID=<%#Eval("ID") %>' style="text-decoration: none;">
<div id="123">
<div id="image" style="clear: both; float: right; margin: 0 5px 10px 10px;">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/epica.jpg" Style="height: 70px;
width: 130px; border: 1px solid black;" />
</div>
<div id="title" style="position: relative; float: right; top: -18px; right: -2px;
height: 76px;">
<asp:Label ID="lblTitle" runat="server" Text='<%#Eval("Title") %>' Style="font-size: 15px;
font-weight: bold; line-height: 110px;"></asp:Label>
</div>
</div>
</a>
</ItemTemplate>
</asp:DataList>
</div>
<div id="technology"style="border: 1px solid black; margin-bottom: 15px;background-color: #EAE9E4;">
<h3 style="background-color: #FF9900; text-align: center; color: #7F2423; width: 650px;
float: right; border-bottom: 4px solid #7F2423; margin-bottom: 8px; padding-right: 5px;">
أخبار التكنولوجيا</h3>
<asp:DataList ID="dlTechnology" runat="server">
<ItemTemplate>
<a href='./TechnologyView.aspx?ID=<%#Eval("ID") %>' style="text-decoration: none;">
<div id="123">
<div id="image" style="clear: both; float: right; margin: 0 5px 10px 10px;">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/epica.jpg" Style="height: 70px;
width: 130px; border: 1px solid black;" />
</div>
<div id="title" style="position: relative; float: right; top: -18px; right: -2px;
height: 76px;">
<asp:Label ID="lblTitle" runat="server" Text='<%#Eval("Title") %>' Style="font-size: 15px;
font-weight: bold; line-height: 110px;"></asp:Label>
</div>
</div>
</a>
</ItemTemplate>
</asp:DataList>
</div>
<div id="articles"style="border: 1px solid black; margin-bottom: 15px;background-color: #EAE9E4;">
<h3 style="background-color: #7F2423; text-align: center; color: white; width: 650px;
float: right; border-bottom: 4px solid #7F2423; margin-bottom: 8px; padding-right: 5px;">
مقالات</h3>
<asp:DataList ID="dlArticles" runat="server">
<ItemTemplate>
<a href='./ArticlesView.aspx?ID=<%#Eval("ID") %>' style="text-decoration: none;">
<div id="123">
<div id="image" style="clear: both; float: right; margin: 0 5px 10px 10px;">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/epica.jpg" Style="height: 70px;
width: 130px; border: 1px solid black;" />
</div>
<div id="title" style="position: relative; float: right; top: -18px; right: -2px;
height: 76px;">
<asp:Label ID="lblTitle" runat="server" Text='<%#Eval("Title") %>' Style="font-size: 15px;
font-weight: bold; line-height: 110px;"></asp:Label>
</div>
</div>
</a>
</ItemTemplate>
</asp:DataList>
</div>
<div id="islamics"style="border: 1px solid black; margin-bottom: 15px;background-color: #EAE9E4;">
<h3 style="background-color: #FF9900; text-align: center; color: #7F2423; width: 650px;
float: right; border-bottom: 4px solid #7F2423; margin-bottom: 8px; padding-right: 5px;">
إسلاميات</h3>
<asp:DataList ID="dlIslamics" runat="server">
<ItemTemplate>
<a href='./IslamicsView.aspx?ID=<%#Eval("ID") %>' style="text-decoration: none;">
<div id="123">
<div id="image" style="clear: both; float: right; margin: 0 5px 10px 10px;">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/epica.jpg" Style="height: 70px;
width: 130px; border: 1px solid black;" />
</div>
<div id="title" style="position: relative; float: right; top: -18px; right: -2px;
height: 76px;">
<asp:Label ID="lblTitle" runat="server" Text='<%#Eval("Title") %>' Style="font-size: 15px;
font-weight: bold; line-height: 110px;"></asp:Label>
</div>
</div>
</a>
</ItemTemplate>
</asp:DataList>
</div>
</div>
</div>
</asp:Content>
ViewPage.aspx ソースは次のとおりです。
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<p dir="rtl">
<asp:Label ID="lblTitle" runat="server" Text="Label" ></asp:Label>
"</p>
<p dir="rtl">
(<asp:Label ID="lblID" runat="server" Text="Label" ></asp:Label>
)</p>
<p dir="rtl">
:</p>
<p dir="rtl">
<asp:Label ID="lblContent" runat="server" Text="Label" ></asp:Label>
</p>
</asp:Content>