Tag: findcontrol

FindControl和动态创建控件的麻烦

示例代码: var div = new HtmlGenericControl(“div”); div.Controls.Add(new Literal() { ID = “litSomeLit” }); var lit = (Literal)div.FindControl(“litSomeLit”); Assert.IsNotNull(lit); 此代码未通过断言,因为lit为null。 调试显示div.Controls肯定包含ID为“litSomeLit”的文字。 我的问题是“为什么?” 并且“有没有办法获得对特定ID的控制,而不是一次手动一个元素递归搜索div.Controls []?” 我这样做的原因是我的实际应用并不那么直接 – 我正在编写的一种方法在一些可能的配置中给出了一个带有几个子控件的复杂控制。 我需要访问几个层的特定控件(例如,ID为“txtSpecificControl”的控件可能位于StartingControl.Controls[0].Controls[2].Controls[1].Controls[3] )。 通常我可以做FindControl(“txtSpecificControl”) ,但是当控件刚刚动态创建时(例如上面的示例代码中),这似乎不起作用。

从页面基类中查找页面中的控件

希望你有一个美好的星期五和东西…好吧,所以这是我的问题: 我的所有ASPX页都inheritance自一个名为BasePage的基类。 BasePageinheritance自: System.Web.UI.Page 现在,如何从我的页面基页访问/设置我的aspx页面中的控件? 我试过这个: HyperLink hypMainMenu = (HyperLink)Page.FindControl(“hypMainMenu”); hypMainMenu.NavigateUrl = AppConfiguration.AppSettings.Urls.MainMenu; 但是hypMainMenu总是空的 – 我找不到那个混蛋。 有任何想法吗? 或者这是一种不好的做法,有人可以推荐一种更好的方法吗? 提前致谢!

更改转发器中链接按钮的文本

我有一个转发器,显示与post相关的评论。 我想添加一些function,当用户点击它来自的链接时: 报告这篇文章 至 post已被标记 如何访问特定的lnkBut​​ton? 显然在ItemDataBound中这很容易做到,但在click方法中我不知道如何做到这一点。 我是否需要做以下事情: 我试过这样的事情; LinkButton lb = repeater.FindControl(LINK_BUTTON_UNIQUE_ID) as LinkButton; lb.Text = “blah blah blah”; 但lb总是为空。 任何帮助将不胜感激,谢谢!

c# – 在div id上使用FindControl时出错

我有一个ASP.NET站点,我试图通过C#代码隐藏文件中的ID访问div元素。 基本上我想看看是否存在div元素,如果存在,则改变其属性。 我发现很多资源都指向了十几个不同的解决方案,而且似乎都没有。 ASP.Net页面上的HTML: Some Content Here Some Content Here Some Content Here C#代码背后(我尝试过的例子): System.Web.UI.HtmlControls.HtmlGenericControl div1 = (System.Web.UI.HtmlControls.HtmlGenericControl)this.FindControl(“button1”); div1.Attributes[“class”] = “classNameHere”; 要么 Control div1 = this.FindControl(“button1”); div1.GetType(); 当代码到达上述每个示例的第二行时,我收到一个错误: 你调用的对象是空的。 如果我尝试以下方法: if (div1 != null) { // Do Something; } 什么都没发生,因为div1总是设置为null。 具有讽刺意味的是,如果我查看Locals窗口并检查它,我可以在列表中看到按钮#id,所以我知道它们在那里,但是系统表现得好像没有找到控件。 我的最终目标是找到按钮div的最大ID#(查看我的html示例,最大id将是3(button3)。也许有更好的方法去做,但无论哪种方式,一旦我拥有我的max id,我希望能够触摸每个div并改变一些css属性。 虽然我可以通过jQuery轻松完成所有这些操作,但在本例中我需要在C#中执行此操作。 任何帮助深表感谢。 如果您需要更多信息,请告诉我们。 更新我从头开始创建一个新的C#Web项目。 添加母版页(而不是更改母版页)并使用母版页添加网页表单后,我只在内容ID =“Content2”下的网络表单中添加了一行: 从c#代码背后我仍然遇到与以前完全相同的问题。 最后的更新和回答我很震惊没有人(包括我自己)从上面的更新中抓住了我的错误。 当我在div下从头开始创建一个新项目时,我从未放过runat =“server”。 以下是我从头开始在新项目下解决问题的方法: 将runat […]

在ListView EmptyDataTemplate中查找控件

我有一个像这样的ListView … 在Page_Load()我有以下内容: Literal x = (Literal)ListView1.FindControl(“Literal1”); x.Text = “other text”; 但是x返回null 。 我想更改Literal控件的文本,但我不知道该怎么做。

使用FindControl()来查找控件

我有一个Literal控件,我试图找到它,所以我可以插入文本。 我有一个包含多个内容占位符的母版页面。 Project Navigation 我不断得到“对象引用未设置为对象的实例”。 如何找到此对象以便我可以找到并更新它? 我试过了: ((Literal)Page.FindControl(“litNavLinks”)).Text = sb.ToString(); ((Literal)Page.Page.FindControl(“litNavLinks”)).Text = sb.ToString(); ((Literal)Page.FindControl(“Content7”).FindControl(“litNavLinks”)).Text = sb.ToString(); 无济于事。 我如何确定位置?

在DetailsView的TemplateField中查找用户控件

我有一个我正在发布的DetailsView – 其中包含一个UserControl。 我在回发数据中遇到了一些困难。 举个例子: Some text here 当我回发时,我会假设我会做这样的事情: MyUserControlType ucUserControl = dvDetailsView.FindControl(“ucUserControl”) as MyUserControlType; 但这没有发现。 事实上,我甚至无法通过在QuickWatch中走动来找到这个孩子…… 我需要做些什么才能找到这个东西? 编辑:事实certificate我的usercontrol id正在改变 – 但为什么? 我在插入和编辑模板上都有相同的ID,但是注释掉它没有任何区别。

在FormView中找不到控件?

我需要找到这个标签驻留在FormView控件中,我需要根据条件删除这个标签,但我无法使用FormView.FindControl方法找到它 here 我试过fvMediaIntro.FindControl()和fvMediaIntro.Row.FindControl() ,但都没有用。 有什么想法吗?

FormView.FindControl():对象引用错误

我有一个formview,在tr / td中有几个文本框。 我试图通过使用.FindControl方法获取文本框但它返回null。 FormView始终处于编辑模式(所以我总是在EditItemTemplate中),我正在尝试将查询字符串值加载到来自上一页的文本框中,所以我确实需要在page_load上进行此操作。 我一直在Gridviews上执行此操作,如下所示: txtFirstName = (TextBox)fvGeneralInfo.FindControl(“txtFirstName”); 或者像这样: txtFirstName = (TextBox)fvGeneralInfo.FooterRow.FindControl(“txtFirstName”); 或者像这样: txtFirstName = (TextBox)fvGeneralInfo.Rows.FindControl(“txtFirstName”); 是什么赋予了? General Info: ID: <asp:TextBox ID="txtInstructorId" runat="server" CssClass="Admin-Textbox" ReadOnly="true" Text='’ /> First Name: <asp:Textbox ID="txtFirstName" runat="server" CssClass="Admin-Textbox" Text='’ />

ASP.net .FindControl()和GridView返回null

我查看了网站上的页面,但似乎无法找到适合我的问题的一般内容,所以希望有人知道该怎么做。 我正在调试别人写的一些代码,并且我遇到了GridView语句的问题。 我的问题是我的gridview始终为null。 我在一个LoginView中的面板中有一个声明的GridView,它基本上设置如下。  Please Log In 之后,在C#文件中,我有以下语句 GridView GridView1 = (GridView)LoginView1.FindControl(“GridView1”); 当我去运行代码时,我在GridView1上得到了NullRefrenceException。 我是否需要深入了解面板以引用GridView,还是应该能够从主LoginView1段访问它? 编辑:更改了我的代码段以包含匿名模板的信息