急用!关于.net的Datalist控件的数据绑定及传值的问题,ASP.NET高手请进
有两个表,一个总的分类表,一个详细信息表。比方说一个网上书店,分类表里有诗歌,散文,点击诗歌出现一个页面是关于诗歌的书名以及内容。我用的是Datalist控件,数据源已经...
有两个表,一个总的分类表,一个详细信息表。比方说一个网上书店,分类表里有诗歌,散文,点击诗歌出现一个页面是关于诗歌的书名以及内容。
我用的是Datalist控件,数据源已经配好,就是不知道怎么做才能实现传值。
本人是初学者,请各位高手帮忙,急用急用!!!
是在.net页面里用Datalist控件进行绑定。
比方说分类信息里有诗歌散文很多分类,还有一个详细信息页面,如果我单击诗歌出现一个详细信息页面,是关于诗歌的所有内容,单击散文出现关于散文的详细内容页面。
意思就是怎么用Datalist控件实现这些功能。
注:分类信息也是用数据绑定的,要怎么把分类信息和详细信息连起来。 展开
我用的是Datalist控件,数据源已经配好,就是不知道怎么做才能实现传值。
本人是初学者,请各位高手帮忙,急用急用!!!
是在.net页面里用Datalist控件进行绑定。
比方说分类信息里有诗歌散文很多分类,还有一个详细信息页面,如果我单击诗歌出现一个详细信息页面,是关于诗歌的所有内容,单击散文出现关于散文的详细内容页面。
意思就是怎么用Datalist控件实现这些功能。
注:分类信息也是用数据绑定的,要怎么把分类信息和详细信息连起来。 展开
4个回答
展开全部
不知道你打算传给谁,给个建议,做个按钮,绑定按钮的CommandArgument,点击按钮的时候取得CommandArgument,然后为第二个DataList重新取数,绑定。
<asp:Button ID="btn" runat="server" Text="Get" CommandArgument='<%# Eval("id") %>' />
===================================================================
补充
===================================================================
帮你做了2个页面,供参考:
Default.aspx
using System.Data;
using System.Data.SqlClient;
<asp:DataList ID="dataListCountry" runat="server">
<ItemTemplate>
<a href='Detail.aspx?c=<%# Eval("Country") %>' target="_blank"><%# Eval("Country") %></a>
</ItemTemplate>
</asp:DataList>
Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = GetConnectionString();
dataListCountry.DataSource = GetCountry(connectionString);
dataListCountry.DataBind();
}
private DataSet GetCountry(string connectionString)
{
DataSet dataSet;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.TableMappings.Add("Table", "Country");
connection.Open();
SqlCommand command = new SqlCommand(
@"SELECT DISTINCT Country
FROM dbo.Suppliers ORDER BY Country;",
connection);
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
dataSet = new DataSet("Country");
adapter.Fill(dataSet);
connection.Close();
}
return dataSet;
}
static private string GetConnectionString()
{
return "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
}
Detail.aspx
<asp:Label ID="contName" runat="server" Text="" Font-Bold="true"></asp:Label>
<asp:GridView ID="gridView" runat="server">
<Columns>
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" ItemStyle-HorizontalAlign="center" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" ItemStyle-HorizontalAlign="center" />
</Columns>
</asp:GridView>
Detail.aspx.cs
using System.Data;
using System.Data.SqlClient;
protected void Page_Load(object sender, EventArgs e)
{
string s = Request.QueryString["c"];
if (string.IsNullOrEmpty(s))
{
return;
}
contName.Text = s;
string connectionString = GetConnectionString();
gridView.DataSource = GetDataSet(connectionString);
gridView.DataBind();
}
private DataSet GetDataSet(string connectionString)
{
DataSet dataSet;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.TableMappings.Add("Table", "Suppliers");
connection.Open();
SqlCommand command = new SqlCommand(
@"SELECT Country, CompanyName, ContactName
FROM dbo.Suppliers ORDER BY Country;",
connection);
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
dataSet = new DataSet("Suppliers");
adapter.Fill(dataSet);
connection.Close();
}
return dataSet;
}
static private string GetConnectionString()
{
return "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
}
你过你有sqlserver,直接建这两个页面测试吧,应该是你要的功能了。
<asp:Button ID="btn" runat="server" Text="Get" CommandArgument='<%# Eval("id") %>' />
===================================================================
补充
===================================================================
帮你做了2个页面,供参考:
Default.aspx
using System.Data;
using System.Data.SqlClient;
<asp:DataList ID="dataListCountry" runat="server">
<ItemTemplate>
<a href='Detail.aspx?c=<%# Eval("Country") %>' target="_blank"><%# Eval("Country") %></a>
</ItemTemplate>
</asp:DataList>
Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
string connectionString = GetConnectionString();
dataListCountry.DataSource = GetCountry(connectionString);
dataListCountry.DataBind();
}
private DataSet GetCountry(string connectionString)
{
DataSet dataSet;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.TableMappings.Add("Table", "Country");
connection.Open();
SqlCommand command = new SqlCommand(
@"SELECT DISTINCT Country
FROM dbo.Suppliers ORDER BY Country;",
connection);
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
dataSet = new DataSet("Country");
adapter.Fill(dataSet);
connection.Close();
}
return dataSet;
}
static private string GetConnectionString()
{
return "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
}
Detail.aspx
<asp:Label ID="contName" runat="server" Text="" Font-Bold="true"></asp:Label>
<asp:GridView ID="gridView" runat="server">
<Columns>
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" ItemStyle-HorizontalAlign="center" />
<asp:BoundField DataField="ContactName" HeaderText="ContactName" ItemStyle-HorizontalAlign="center" />
</Columns>
</asp:GridView>
Detail.aspx.cs
using System.Data;
using System.Data.SqlClient;
protected void Page_Load(object sender, EventArgs e)
{
string s = Request.QueryString["c"];
if (string.IsNullOrEmpty(s))
{
return;
}
contName.Text = s;
string connectionString = GetConnectionString();
gridView.DataSource = GetDataSet(connectionString);
gridView.DataBind();
}
private DataSet GetDataSet(string connectionString)
{
DataSet dataSet;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.TableMappings.Add("Table", "Suppliers");
connection.Open();
SqlCommand command = new SqlCommand(
@"SELECT Country, CompanyName, ContactName
FROM dbo.Suppliers ORDER BY Country;",
connection);
command.CommandType = CommandType.Text;
adapter.SelectCommand = command;
dataSet = new DataSet("Suppliers");
adapter.Fill(dataSet);
connection.Close();
}
return dataSet;
}
static private string GetConnectionString()
{
return "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
}
你过你有sqlserver,直接建这两个页面测试吧,应该是你要的功能了。
展开全部
你诗歌那一列应该用添加一列 hyperlink。。。然后里面有那个nagtiveurl的。。写上你的那个显示 诗歌内容的地址。。。
至于传值,用datalist,那个databond事件。。。里面
写 e.row 什么什么cell 什么什么的 找到那个 .text 把它赋值给 session或者 request 或者用 querystring。。。
至于传值,用datalist,那个databond事件。。。里面
写 e.row 什么什么cell 什么什么的 找到那个 .text 把它赋值给 session或者 request 或者用 querystring。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你指的是如何在asp.net页面里面进行绑定吗?
<%#DataBinder.Eval("id") %>
<%#DataBinder.Eval("id") %>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%#Eval("列名")%>数据就到前台了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询