如下代码为vb,我却不知道用C#如何改写红色字体的部分。我直接照搬到c#里,提示说#Container.DataItem不是一个class,不能加参数。
<%@ Import Namespace="System.Data.OleDb" %><script  runat="server">
sub Page_Load
dim dbconn,sql,dbcomm,dbread
dbconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & server.mappath("/db/northwind.mdb"))
dbconn.Open()
sql="SELECT * FROM customers"
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader()
customers.DataSource=dbread
customers.DataBind()
dbread.Close()
dbconn.Close()
end sub
</script><html>
<body><form runat="server">
<asp:DataList
id="customers"
runat="server"
cellpadding="2"
cellspacing="2"
borderstyle="inset"
backcolor="#e8e8e8"
width="100%"
headerstyle-font-name="Verdana"
headerstyle-font-size="12pt"
headerstyle-horizontalalign="center"
headerstyle-font-bold="True"
itemstyle-backcolor="#778899"
itemstyle-forecolor="#ffffff"
footerstyle-font-size="9pt"
footerstyle-font-italic="True"><HeaderTemplate>
Customers Table
</HeaderTemplate><ItemTemplate>
<%#Container.DataItem("companyname")%>  in
<%#Container.DataItem("address")%>,<%#Container.DataItem("city")%>
</ItemTemplate><FooterTemplate>
Source: Northwind Database
</FooterTemplate></asp:DataList>
</form></body>
</html>

解决方案 »

  1.   

    <%#Container.DataItem["companyname"]%> in
    <%#Container.DataItem["address"]%>,<%#Container.DataItem["city"]%>
      

  2.   

     <%#Container.DataItem["companyname"]%> in
    <%#Container.DataItem["address"]%>,<%#Container.DataItem["city"]%>
      

  3.   

    <%#Container.DataItem["companyname"]%> in直接使用<%#Eval("companyname")%> 
      

  4.   

    把<%#Container.DataItem("city")%> 换成c#中的<%#Container.DataItem["city"]%>
    小括号变成中括号还是报错,提示信息如下:
    Cannot apply indexing with [] to an expression of type 'object'
      

  5.   

    更奇怪的是,我听3楼的,不用ontainer,直接用Eval就能显示了
    <%#Container.DataItem("city")%>  变成 <%#Eval("city")%>这是为什么。越来越晕了
      

  6.   

    为什么?C#不就是用<% Eval("")%>绑定的吗
      

  7.   

    后台用this.customers.DataSource = DBHelper.GetDataSet(sql);
            customers.DataBind();绑定
    DBHelper.GetDataSet(sql)就是查到一个datetable或者dataset和List的集合都可以;
    前台就直接<%#Eval(CompanyName)%>
    就可以了
      

  8.   

    用<%#Eval("companyname")%>  VB和C#有区别的