gpt4 book ai didi

c# - 无法访问 Page_Load 中的控件

转载 作者:行者123 更新时间:2023-11-30 21:22:57 26 4
gpt4 key购买 nike

我有一个简单的 .ascx 文件

<%@ Control Language="C#"
AutoEventWireup="true"
CodeFile="Profile.ascx.cs"
Inherits="UserControls_Profile" %>
<%@ Register Assembly="RadChart.Net2"
Namespace="Telerik.WebControls"
TagPrefix="radC" %>
<div id="testdiv" runat="server"></div>

在后面的代码中:

protected void Page_Load(object sender, EventArgs e) {
Chart();
}

private void Chart() {
testdiv.Visible=false;
}

当我尝试访问该页面时出现异常:

error CS0103: The name 'testdiv' does not exist in the current context

我也试过 onload 但结果一样!

最佳答案

如果你有一个 HTML div,你需要添加一个 runat 属性,比如

  <div id="testDiv" runat="server">Hello world</div>

虽然像 div 这样的 HTML 元素不是 ASP.NET 控件,但将 HTML“控件”与 ASP.NET 混合可能会出现问题。您可能更喜欢做类似的事情

  <asp:panel id="myPanel" runat="server">Hello world</asp:panel>

更新:还要检查 Profile.ascx.designer.cs,它应该由 Visual Studio 自动生成以包含“protected HtmlControl testdiv”。我假设部分类中缺少它。我注意到您派生自 UserControls_Profile,这可能会造成混淆。

关于c# - 无法访问 Page_Load 中的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2041252/

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