一个DATALIST控件里嵌套REAPETER控件.我REAPETER控件可以获取绑定DATALIST的数据源里的数据吗?比如,我DATALIST的数据源的SELECTCOMMAND="SELECT USRNAME,PASSWORD FROM USERINFO WHERE SEX='男'"然后我再REAPETER的ITEMPLATE里能直接用EVAL("USERNAME")吗?
我非得加个隐藏控件保存DATALIST获取的typeid再赋给Reapeter数据源里的SELECT [title], [typeid] FROM [news] WHERE ([typeid] = @typeid). 我郁闷,为什么非得要这么做才行?=========================就算这么做,也用不着隐藏控件吧
我贴代码,大家帮我看看.<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" DataKeyField="typeid"
DataSourceID="sqlds_type" RepeatColumns="2" Width="478px">
<ItemTemplate>
typeid:
<asp:Label ID="typeidLabel" runat="server" Text='<%# Eval("typeid") %>' />
<br />
typeName:
<asp:Label ID="typeNameLabel" runat="server" Text='<%# Eval("typeName") %>' />
<br />
<br />
<br />
<ul>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:CMSConnectionString %>"
SelectCommand="SELECT [title], [typeid] FROM [news] WHERE ([typeid] = @typeid)">
<SelectParameters>
<asp:ControlParameter ControlID="DataList1" Name="typeid"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<li><%# Eval("title") %></li></ItemTemplate>//运行后,这里不显示出来title.2个表,type表,NEWS表,news的typeid是外键在type表的typeid
</asp:Repeater> </ul>
</ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="sqlds_type" runat="server"
ConnectionString="<%$ ConnectionStrings:CMSConnectionString %>"
SelectCommand="SELECT * FROM [type]"></asp:SqlDataSource>
</div>
</form>
</body>
我非得加个隐藏控件保存DATALIST获取的typeid再赋给Reapeter数据源里的SELECT [title], [typeid] FROM [news] WHERE ([typeid] = @typeid).我郁闷,为什么非得要这么做才行?
我非得加个隐藏控件保存DATALIST获取的typeid再赋给Reapeter数据源里的SELECT [title], [typeid] FROM [news] WHERE ([typeid] = @typeid). 我郁闷,为什么非得要这么做才行?=========================就算这么做,也用不着隐藏控件吧
<asp:Repeater ID="p_1" runat="server">
<ItemTemplate>
<tr>
<td width="472" align="center" bgcolor="#D7E9F9"><div style="word-wrap:break-word;">
<%# Eval("title") %>'>
<asp:DataList ID="dl_1" runat="server" DataSource='<%# GetProduct(Eval("title").ToString()) %>' RepeatColumns="2">
<ItemTemplate>
<%# Eval("name") %>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
protected void Page_Load(object sender, EventArgs e)
{
p_1.DataSource=GetDataSet("select * from 表名");
p_1.DataBind();
} public DataSet GetProduct(string pTypeId)
{
return GetDataSet("select * from 表名", " where title=" + pTypeId);
}
private DataSet GetDataSet(string sql)
{
SqlConnection con = new SqlConnection(@"xxxx"); // 连接字符串
SqlCommand cmd = new SqlCommand(sql, con);
DataSet set = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
try
{
con.Open();
adapter.Fill(set);
return set;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
con.Close();
}
}以前写的简单示例,希望有用
<asp:Repeater ID="p_1" runat="server">
<ItemTemplate>
<tr>
<td width="472" align="center" bgcolor="#D7E9F9"><div style="word-wrap:break-word;">
<%# Eval("title") %>'>
<asp:DataList ID="dl_1" runat="server" DataSource='<%# GetProduct(Eval("title").ToString()) %>' RepeatColumns="2">
<ItemTemplate>
<%# Eval("name") %>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
protected void Page_Load(object sender, EventArgs e)
{
p_1.DataSource=GetDataSet("select * from 表名");
p_1.DataBind();
} public DataSet GetProduct(string pTypeId)
{
return GetDataSet("select * from 表名", " where title=" + pTypeId);
}
private DataSet GetDataSet(string sql)
{
SqlConnection con = new SqlConnection(@"xxxx"); // 连接字符串
SqlCommand cmd = new SqlCommand(sql, con);
DataSet set = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
try
{
con.Open();
adapter.Fill(set);
return set;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
con.Close();
}
}以前写的简单示例,希望有用