首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否不显示ASP.NET中的数据列表?

是否不显示ASP.NET中的数据列表?
EN

Stack Overflow用户
提问于 2010-12-30 03:08:39
回答 3查看 4.3K关注 0票数 1

几天来,我一直致力于使用ASP.NET代码中的DataList动态生成一些标签,但在我的生命中,无法让控件显示在屏幕上。我相当确定这个问题是一些语法上的小问题,或者是我忘了设置的HTML标记。我已经通过调试器确认了数据列表实际上正在被拉入数据源,并且当我查看HTML代码的“设计”视图时,控件确实会显示出来。但是,当我运行该页时,该控件不可见。任何关于为什么会发生这种情况的见解都将非常感谢。

以下是与问题相关的代码...

C#分部类:

代码语言:javascript
运行
复制
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            InventoryService service = new InventoryService();

            ArrayList foundYears = service.FindYears();
            DataSet ds = new DataSet();
            ds.Tables.Add("Years");
            ds.Tables[0].Columns.Add("Year");

            foreach (string yr in foundYears)
            {
                if (yr != "")
                {
                    DataRow dr = ds.Tables[0].NewRow();
                    dr["Year"] = yr;
                    ds.Tables[0].Rows.Add(dr);
                }
            }

            DataList headerRepeater = new DataList();
            headerRepeater.DataSource = ds.Tables[0];
            headerRepeater.DataKeyField = "Year";
            headerRepeater.DataBind();
            headerRepeater.Visible = true;
        }
    }

HTML分部类:

代码语言:javascript
运行
复制
<table width="100%" align="center">
    <tr>
        <td style="width: 868px">
             <asp:DataList id='headerRepeater' Runat='server' CellPadding='5' CellSpacing='15' GridLines='Vertical' HorizontalAlign='Left' RepeatColumns='30' RepeatDirection='Horizontal' RepeatLayout='Table' ShowFooter='False' ShowHeader='False' Visible = 'True' CssClass='DataList' DataKeyField ='Year'>
            <ItemTemplate>
                <asp:Label runat='server' ID='lblItemName' Text='<%# DataBinder.Eval(Container.DataItem, "Year") %>'>
                </asp:Label>
            </ItemTemplate>
        </asp:DataList>
    </td>
</tr>
<tr>
EN

Stack Overflow用户

回答已采纳

发布于 2010-12-30 03:12:33

您正在创建一个新的局部变量,当您说:

代码语言:javascript
运行
复制
DataList headerRepeater = new DataList(); .

从Page_Load中删除此行页面应该可以正常工作。

在触发页面加载事件时,数据列表已添加到页面控件集合中

票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4557012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档