我做datalist的嵌套,外层为main_dl,内层为x_dl,想让内层的newsid根据外层的root选择显示:前台:
<asp:datalist id=main_dl runat="server"DataSource="<%# main_DS %>">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"root") %>
<asp:datalist id=x_dl runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"newsid") %>
</ItemTemplate>
</asp:datalist>
</ItemTemplate>
</asp:datalist>
后台:
c# 版:
DataView FilterData(string v)
{
da_z.Fill(DS_z, "news"); // DS_z的select已经在Page_Load中完成
DataView dv = new DataView(DS_z.Tables("news"));
dv.RowFilter = "Title = " + v;
return dv;
}
private void main_dl_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataList dl=(e.Item.FindControl("x_dl") as DataList)
dl.DataSource= FilterData(DataBinder.Eval (Container.DataItem,"root").ToString ()) // 这里出错
dl.DataBind();
}
vb.net版:
Function FilterData(ByVal v As String) As DataView
da_z.Fill(DS_z, "news") 'DS_z的select已经在Page_Load中完成
Dim dv As DataView = New DataView(DS_z.Tables("news"))
dv.RowFilter = "Title = " + v
Return dv
End Function Private Sub main_dl_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
Dim dl As DataList =CType(e.Item.FindControl("x_dl"), DataList)
dl.DataSource = FilterData(DataBinder.Eval(Container.DataItem, "root").ToString) //这里出错
dl.DataBind
End Sub出错的地方:
ds.DataSource= FilterData(DataBinder.Eval (Container.DataItem,"root").ToString())
处提示:
Container未声明
请前辈帮我看看,好几天啦,有点崩溃,谢谢,谢谢
<asp:datalist id=main_dl runat="server"DataSource="<%# main_DS %>">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"root") %>
<asp:datalist id=x_dl runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"newsid") %>
</ItemTemplate>
</asp:datalist>
</ItemTemplate>
</asp:datalist>
后台:
c# 版:
DataView FilterData(string v)
{
da_z.Fill(DS_z, "news"); // DS_z的select已经在Page_Load中完成
DataView dv = new DataView(DS_z.Tables("news"));
dv.RowFilter = "Title = " + v;
return dv;
}
private void main_dl_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataList dl=(e.Item.FindControl("x_dl") as DataList)
dl.DataSource= FilterData(DataBinder.Eval (Container.DataItem,"root").ToString ()) // 这里出错
dl.DataBind();
}
vb.net版:
Function FilterData(ByVal v As String) As DataView
da_z.Fill(DS_z, "news") 'DS_z的select已经在Page_Load中完成
Dim dv As DataView = New DataView(DS_z.Tables("news"))
dv.RowFilter = "Title = " + v
Return dv
End Function Private Sub main_dl_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
Dim dl As DataList =CType(e.Item.FindControl("x_dl"), DataList)
dl.DataSource = FilterData(DataBinder.Eval(Container.DataItem, "root").ToString) //这里出错
dl.DataBind
End Sub出错的地方:
ds.DataSource= FilterData(DataBinder.Eval (Container.DataItem,"root").ToString())
处提示:
Container未声明
请前辈帮我看看,好几天啦,有点崩溃,谢谢,谢谢
解决方案 »
- 安全问题
- 页面路径问题
- 怎样替换或者删除 webbrowser 里面的 一段 html 文字
- 散分:页面频繁回发,怎么控制绝对回发后还能够定位原处
- asp.net做的发送邮件程序,为什么本地能发送出去,传到服务器上却发送不了呢?
- WEB 自定义控件 如何在页面进行提交验证
- 我有一个念计算机的大学女同学,她想向WEB网站开发方向发展,不知有没有前途,大家来讨论一下
- shtml文件里面,如何表示网站根目录?
- 从数据库取出来的值为什么不能显示在以“TextMode="Password"方式的textbox中
- file.readopen 问题!! 急,在线等待!
- asp:HyperLink的问题
- HtmlInputFile上传文件出错了,请各位大虾帮助(asp.net+C#)
http://dotnet.aspx.cc/ShowDetail.aspx?id=149E5DD7-3B32-461e-ACC6-51D1652E6746
这句好像在后台调用Container.DataItem出错了!是不是要加点什么修饰呢?谢谢
{
if((e.Item.ItemType == ListItemType.Item) ||
(e.Item.ItemType == ListItemType.AlternatingItem))
{
DataList dl=(e.Item.FindControl("x_dl") as DataList)
dl.DataSource= FilterData(DataBinder.Eval (e.Item.DataItem,"root").ToString());
dl.DataBind();
}
}
可是现在有除了点问题,内层的数据筛选不出来,我怀疑是不是
Dim dv As DataView = New DataView(DS_z.Tables("news"))
dv.RowFilter = "TopicID = " + v这里出错呢?
我是想让内层(DS_z)显示,TopicID等于外层(main_DS)TopicID的所有记录字段的对应是正确的,请前辈们,看看,是不是还有那里要修饰一下
谢谢 谢谢 前辈们指点,我实在看不出来
Dim dv As DataView = New DataView(DS_z.Tables("news"))
dv.RowFilter = "TopicID = " + v改为了
da_z.SelectCommand.Parameters(0).Value = v //以筛选出想要的内层数据
Dim dv As DataView = New DataView(DS_z.Tables("news"))
Return dv这样一改,第一格内层循环到是正确,可是以后的每个内层的值都又和第一个内层的值是完全相同的!!!这又是什么原因呢?
真是奇了怪了!
http://db.chinacars.com/ShowBrand.aspx?manufacture_id=82
dl.DataSource= FilterData(DataBinder.Eval (e.item.DataItem,"root").ToString ())