动态用户控制的控制都在空负载

我在我的ASP.Net应用基础用户控件,有此用户控件被设置为=“服务器”和id的内HTML标记。 我遇到的问题是,在加载用户控件时,HTML标记将被返回作为空

ASP.Net C#代码:

public partial class webonlinecustombase : System.Web.UI.UserControl { public Event Event { get; set; } public OnlineSystemPageCustom custompage { get; set; } public OnlineSystemPageCustom.OnlineSystemPageHdr.OnlineSystemPageModule custommodule { get; set; } public void Page_Load(object sender, EventArgs e) { string typeName = custommodule.ModuleInternetFile; inpagelink.HRef = "#" + custommodule.ModuleName.Replace(" ", "").Replace("/", ""); modtitle.InnerText = custommodule.ModuleName; Type child = Type.GetType(typeName); UserControl ctl = Activator.CreateInstance(child) as UserControl; if (ctl != null) { this.modsection.Controls.Add(ctl); } } }

下面是HTML标记:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="webonlinecustombase.ascx.cs" Inherits="IPAMIntranet.IPAM_Controls.webtemplatecontrols.webonlinecustombase" %> <a id="inpagelink" runat="server"></a> <span id="modtitle" runat="server" style="width:100%;text-align:left">Scientific Overview</span> <div id="modsection" runat="server" style="width:100%;"> </div> <p><a href="#top" class="bodylink">Back to Top</a></p>

为什么inpagelinkmodtitle返回为空?

--------------解决方案-------------

我已经看到这种情况发生在Web应用程序(而不是网站)更改时源发(尤其是设置在了以前没有RUNAT = server的项目RUNAT =服务器),但你不切换到设计视图。

我解决这个问题的方法是切换到设计视图和肮脏属性的领域之一。 这通常会导致VS更新设计师的代码隐藏文件。

你可以仔细检查该文件以确保控制已被添加。 如果你把它做的检查在此之前,你应该看到,他们缺少。

asp.net does'n有跨度类,所以你不能在代码中对它做任何事的后面。

使用的LinkBut​​ton或超链接,而不是

另一个解决方案是在代码中创建跨度还是,像这样

var span = new HtmlGenericControl("span");
span.InnerHtml = "From<br/>Date";
span.Attributes["class"] = "blue";
placeholder.Controls.Add(span);

希望我帮助:))

分类:C# 时间:2012-01-01 人气:1
分享到:

相关文章

  • ASP.NET用户控件 - 空引用? 2014-11-25

    我有我的用户控制的问题. 里面,我有一个复选框控制. 我想动态创建用户控件,并将其插入到ASP:表控制. MyControl pp = new MyControl(); pp.pageNameCb.Text = "lorem"; TableCell tc = new TableCell(); tc.Controls.Add(pp); table.Rows[0].Cells.Add(tc); 但是,该pageNameCb为空,即使我手动创建它的实例,没有显示在我的表. 为什么呢? 这里是

  • 动态添加使用Jquery问题asp.net用户控件 2013-10-19

    我通过jQuery的在主动态形式的按钮,点击添加asp.net用户控件. 我已经成功地补充说,控制到我的主页. 但问题是,我的控制中包含一个按钮,每当我点击该按钮,导致整个页面重新加载,因此我的控制冲走. 有人可以告诉我,我要去哪里错了,我需要做什么. 我只需要在控制按钮点击执行某些操作. 我可以停止页面重新加载或我怎么能再次渲染我的控制中的主网页,每当页面刷新? 感谢名单 --------------解决方案------------- 你必须每次都重新初始化控件回发后,使用类似ScriptMa

  • ASP.NET用户控件的用户控件继承生成空引用 2015-02-24

    这必须是一个普遍的问题. 用户控件有一个TextBox T. 用户控制b从用户控制A.继承 用户控制B被放置在页面P. 在页面P的Page_Load事件中,如果您试图访问文本框T,你会发现它是空. 是否有这样的一个优雅的解决方案? --------------解决方案------------- 从用户控件继承用户控件是不是一个很好的策略. 父用户控件将不会被渲染的元素 - 这就是为什么你的文本框为空. 更好的办法是有一个用户控件包含在用户控件乙 - 这样一来用户控件A的元素可以在你的其他用户控件

  • 动态创建ASP.NET用户控件的许多实例:如何创建它,并在那里将我的矛盾是什么? 2014-10-10

    我以前没有见过这个实现在ASP.NET中,但我想一个用户界面,看起来和行为是这样的: 概念概述 一个TabControl的加载和第一个选项卡包含一个网格 当行是双击,一个新的标签与记录细节创建 标签/记录详细的内容由用户控件创建 许多标签可以创建,因此将要创建的用户控件的多个实例 我知道ASP.NET将重新命名我的runat="server"的ID对我来说,我可以使用jQuery或ASP.NET服务器端代码的ID的工作...我关注的是: 我怎么能要求ASP.NET来为我的用户的每个第N

  • asp.net用户控件元素为null。 2012-02-04

    我有一个简单的asp.net用户控件: <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QueryDefinitionItem.ascx.cs" Inherits="xxx.UserControls.QueryDefinitionItem" %> <link href="../Styles/Site.css" rel

  • 当我实例在运行一个ASP.NET用户控件,为什么它忽略ASCX文件? 2012-02-01

    我创建了一个常规ASP.NET用户控件,包括ASCX文件. 例如: MyUserControl.ascx MyUserControl.ascx.cs 然后,我尝试手动呈现控件,在运行时,使用类似于下面的代码的代码: var testMyUserControl = new MyUserControl(); var textWriter = new HtmlTextWriter( new System.IO.StringWriter(new StringBuilder())); testMyUser

  • 在客户端缓存ASP.NET用户控件 2012-02-22

    我想知道是否有可能在客户端缓存的ASP.NET用户控件. 我有一个用户控件查询一个数据库,并呈现一个GridView. 它必须是在客户机上,因为查询结果从用户而异(由User.Identity.Name). 该页面是对企业内部网. 任何帮助将非常感激! 提前致谢, PS:如果是默认缓存在用户控件? 服务器,代理服务器? --------------解决方案------------- 用户控件总是缓存在网络服务器上,而不是在代理服务器或在网络浏览器. 为了虽然解决你的意图,可以渲染基于不同的缓存结

  • 为什么Asp.Net用户控件是否得到一个“F”随着ViewState的? 2012-08-05

    我从来没有太大的必要用户控件,直到最近. 原因是过于冗长和超出范围为这个线程. 我会说,用户控件必须动态加载. 在其中加载用户控件的变量存储在一个自定义服务器控件的属性,当然它驻留在ViewState中. 我的问题,因为许多其他开发商都表示,是该用户控件将不保留的ViewState! 所有最优秀的意见说,在页面生命周期的初始化阶段加载UserContol. 但是,如果我从CustomServerControl的ViewState加载用户控件,我不能在初始化阶段做到这一点,因为ViewState中

  • 缓存在ASP.NET用户控件? 2012-08-22

    我已经在我的应用"header.ascx"创建一个用户控件,我考取一个selectedMenu属性,这种控制上,控制选择指定的selectedMenu值. 假设,我已经过了价值的"家"或"搜索",然后将选择(高亮显示)的搜索菜单. 我想缓存此控制,当selectedMenu的属性值的变化则只有高速缓存将被刷新,否则它应该拿起从高速缓存的控制? 是否可以缓存在asp.net中用户控件? 我使用ASP.NET 2.0(C#) ------------

  • 创建ASP.NET用户控件利用JavaScript API 2013-03-18

    基本上,我试图找出一个好/干净的方式来组织的控制,将有一个这样的公共API: <script> function buttonClicked() { var myUserControl = SomehowGetReferenceToThisUserControl("UserControl"); myUserControl.AjaxReload(); } </script> <a href="javascript:buttonClicked()&q

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.608 (s). 10 q(s)