Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t页面加载中的访问控制_C#_Asp.net_Web Applications_User Controls - Fatal编程技术网

C# Can';t页面加载中的访问控制

C# Can';t页面加载中的访问控制,c#,asp.net,web-applications,user-controls,C#,Asp.net,Web Applications,User Controls,我有一个简单的.ascx文件 <%@ Control Language="C#" AutoEventWireup="true" CodeFile="Profile.ascx.cs" Inherits="UserControls_Profile" %> <%@ Register Assembly="RadChart.Net2" Namespace="Telerik.WebControls" TagPrefix="radC" %> &l

我有一个简单的.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>
当我尝试访问该页面时,出现异常:

错误CS0103:名称“testdiv”在当前上下文中不存在


我也尝试过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自动生成,以包含“受保护的HtmlControl testdiv”。我假设部分类中缺少这个。我注意到您来自UserControls\u配置文件,这可能会引起混淆。

一件事,testdiv是asp.net控件???此控件必须在.cs文件或具有此用户控件的分部类的其他文件中声明为受保护。此外,testdiv在ascx文件中必须有runat=“server”。如果您有这些东西,您可以访问您的控件。

只要
不在动态模板中,例如中继器中,这应该是可行的

检查页面模板。它应该包含如下内容:

<div id="testdiv" runat="server">
   ...
<div>

...
如果div是模板的一部分,则需要使用
container.FindControl(“testdiv”)


编辑:有时,Visual Studio没有正确更新Profile.ascx.designer.cs。在这种情况下,仅仅重新保存ASCX文件似乎也不起作用。尝试添加具有其他名称的ASP.NET控件。这通常会触发代码的重新生成。

在.cs中,右键单击testdiv上方并选择“转到定义”。如果未找到结果,请在设计模式下打开.ascx并保存文件。这将在ascx中生成testdiv控件的声明。

请给出定义testdiv的代码。您可以发布aspx页面代码吗?您使用的是什么语言?asp.net 1.1?2.0+?如果拆下Telerik控件,会发生什么情况?
<div id="testdiv" runat="server">
   ...
<div>