gpt4 book ai didi

c# - 在 ListView EmptyDataTemplate 中查找控件

转载 作者:可可西里 更新时间:2023-11-01 08:16:07 26 4
gpt4 key购买 nike

我有一个像这样的 ListView

<asp:ListView ID="ListView1" runat="server">
<EmptyDataTemplate>
<asp:Literal ID="Literal1" runat="server" text="some text"/>
</EmptyDataTemplate>
...
</asp:ListView>

Page_Load() 中,我有以下内容:

Literal x = (Literal)ListView1.FindControl("Literal1");
x.Text = "other text";

但是 x 返回 null。我想更改 Literal 控件的文本,但我不知道该怎么做。

最佳答案

我相信,除非您在代码后面的某处调用ListViewDataBind 方法,否则ListView 永远不会尝试进行数据绑定(bind)。然后什么都不会呈现,甚至不会创建 Literal 控件。

在您的 Page_Load 事件中尝试类似的操作:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//ListView1.DataSource = ...
ListView1.DataBind();

//if you know its empty empty data template is the first parent control
// aka Controls[0]
Control c = ListView1.Controls[0].FindControl("Literal1");
if (c != null)
{
//this will atleast tell you if the control exists or not
}
}
}

关于c# - 在 ListView EmptyDataTemplate 中查找控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/613277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com