asp.net – ASPNET WebForms服务器控件在Page_Load中为NULL
发布时间:2020-05-24 01:26:35 所属栏目:asp.Net 来源:互联网
导读:我有一个非常奇怪的情况,我的Label控件在Page_Load中为NULL.甚至有可能吗 我有一个Web表单: %@ Page Language=C# AutoEventWireup=true CodeBehind=WebForm1.aspx.cs Inherits=MyNamespace.Templates.Pages.WebForm1 %%@ Register TagP
|
我有一个非常奇怪的情况,我的Label控件在Page_Load中为NULL.甚至有可能吗 我有一个Web表单: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MyNamespace.Templates.Pages.WebForm1" %>
<%@ Register TagPrefix="cw" Namespace="MyNamespace.Templates.Units" Assembly="MyNamespace" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div style="background-color:yellowgreen;">
FIRST
</div>
<div style="background-color: wheat;">
SECOND
<cw:ArticleColumn runat="server" ID="ac" ArticleID="1899"/>
</div>
</form>
</body>
</html>
在网页表单的Page_Load中,我只做一个 if(!IsPostBack) DataBind(); 用户控件ArticleColumn如下所示: <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ArticleColumn.ascx.cs" Inherits="MyNamespace.Templates.Units.ArticleColumn" %> <h2><asp:Label runat="server" ID="myArticleHeading" Text="TOM" /></h2> <p><asp:Label runat="server" ID="myArticleIntro" Text="TOM" /></p> <asp:Label runat="server" ID="myArticleBody" Text="TOM" /> 后面的代码看起来像这样: public partial class ArticleColumn : UserControlBase<PageTypes.ArticleBase>
{
public int ArticleID { get; set; }
protected void Page_Load(object sender,EventArgs e)
{
var page = DataFactory.Instance.GetPage(new PageReference(ArticleID));
myArticleHeading.Text = page.PageName;
myArticleIntro.Text = page.Property["IntroText"] != null
? page.Property["IntroText"].ToWebString()
: string.Empty;
myArticleBody.Text = page.Property["MainBody"] != null
? page.Property["MainBody"].ToWebString()
: string.Empty;
DataBind();
}
}
当我尝试设置myArticleHeading.Text时,它失败,因为控件为空.这怎么可能?控件的ASP.NET自动绑定必须以某种方式失败… 我努力了: 不用说,上述都没有. 编辑:添加堆栈跟踪: [NullReferenceException: Object reference not set to an instance of an object.] MyNamespace.Templates.Units.ArticleColumn.Page_Load(Object sender,EventArgs e) in C:DevProjectsCustomerWebMainSourceMyNamespaceTemplatesUnitsArticleColumn.ascx.cs:21 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp,Object o,Object t,EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +91 System.Web.UI.Control.LoadRecursive() +74 System.Web.UI.Control.LoadRecursive() +146 System.Web.UI.Control.LoadRecursive() +146 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) +2207 解: <%@ Register TagPrefix="cw" TagName="ArticleColumn" Src="~/Templates/Units/ArticleColumn.ascx" %> 此错误声明使用ReSharper从html视图添加右键菜单: <%@ Register TagPrefix="cw" Namespace="MyNamespace.Templates.Units" Assembly="MyNamespace" %> 谢谢您的帮助! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 模型验证/ ASP.NET MVC 3 – 条件必需属性
- asp.net – NavigateUrl =“#”变成href =“SubFolder /#”
- asp.net-mvc – 自定义异常过滤器在asp.net MVC中没有被击中
- 在ASP.NET MVC 3应用程序中编辑并继续
- asp.net-core – 简化的IOptions方法
- 如何保持我的ASP.NET应用程序始终“活着”,如果它是一个坏主
- 从旧的经典ASP页面设置301重定向到新的ASP.NET Webforms页面
- asp.net-mvc – 我可以获取html.HiddenFor / Html.Hidden创
- asp.net-mvc – 单元测试我的控制器方法导致一个空的ViewNa
- asp.net-mvc – SessionSecurityTokenHandler尝试使用DPAPI
推荐文章
站长推荐
- asp.net-mvc-3 – “字段宽度必须是数字.”在客户
- asp.net-mvc – 防止用户没有确认的电子邮件登录
- asp.net – System.InvalidOperationException:
- asp.net-mvc – 如何将asp.net mvc视图渲染为ang
- asp.net – 在请求之间检索和持久化状态
- ASP.NET中上传并读取Excel文件数据示例
- asp.net-mvc – ASP.NET MVC模型在编辑器模板中绑
- asp.net – 表单身份验证是否与Web负载平衡器一起
- ASP.NET成员资格 – 让用户使用以前的密码
- asp.net-mvc – 使用ASP.NET MVC 2 AsyncControl
热点阅读
