天道酬勤,学无止境

findcontrol

在列表视图中找到控件(find control in listview)

问题 通过按下 GridView 中的按钮,我需要在 Listview 中找到控件。 <ItemTemplate> <td> <asp:Label ID="lblMarketLVBalanceHeader" runat="server" Text="Balance: "></asp:Label> </td> <td> <asp:Label ID="lblMarketLVBalanceValue" runat="server" Text='<%# Bind("Money", "{0:####}$") %>'></asp:Label> </td> </ItemTemplate> 背后的代码: protected void GVMarketItems_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName.Equals("Buy")) { GridViewRow row = (GridViewRow)(((Button)e.CommandSource).NamingContainer); /* string itemID = row.Cells[0].Text; string itemName = row.Cells[1].Text; string itemCostStr = row.Cells

2021-12-07 11:54:29    分类:技术分享    asp.net   listview   gridview   findcontrol

在 FormView 中找不到控件?(can't find control in FormView?)

问题 我需要找到这个<a>标签驻留在FormView控件中,我需要根据条件删除这个标签,但我无法使用FormView.FindControl方法找到它 <asp:UpdatePanel ID="upDiscipline" runat="server"> <ContentTemplate> <asp:FormView ID="fvMediaIntro" runat="server"> <ItemTemplate> <div class="clipControls"> <a runat="server" id="iNeedToFindThis" href="#">here</a> </div> </ItemTemplate> </ContentTemplate> </asp:UpdatePanel> 我试过fvMediaIntro.FindControl()和fvMediaIntro.Row.FindControl() ,都没有奏效。 有什么想法吗?? 回答1 FindControl仅在创建这些控件后才能工作,即当数据绑定到FormView 。 因此,您需要在FormView上使用适当的事件,例如 ItemCreated 或DataBound 。 例如, protected void fvMediaIntro_ItemCreated(Object sender, EventArgs e

2021-12-05 18:39:05    分类:技术分享    c#   asp.net   formview   findcontrol

asp.net FindControl 递归(asp.net FindControl Recursively)

问题 这是一个非常奇怪的问题 - 我会尽力解释。 我有一个基本的母版页: <%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="master_MasterPage" %> <!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> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form id="form1" runat="server"> <div> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> <asp:PlaceHolder ID="PH1" runat="server" /> <asp

2021-12-03 13:09:06    分类:技术分享    asp.net   dynamic   recursion   controls   findcontrol

使用 FindControl() 查找控件(Using FindControl() to find control)

问题 我有一个Literal控件,我试图找到它,以便我可以在其中插入文本。 我有一个包含多个内容占位符的母版页。 <asp:Content ID="Content7" ContentPlaceHolderID="MainLinks" runat="server"> <h3>Project Navigation</h3> <ul class="rightColBoxNav"> <asp:Literal ID="litNavLinks" runat="server" /> </ul> </asp:Content> 我不断收到“未将对象引用设置为对象的实例”。 我如何找到这个对象,以便我可以找到并更新它? 我试过了: ((Literal)Page.FindControl("litNavLinks")).Text = sb.ToString(); ((Literal)Page.Page.FindControl("litNavLinks")).Text = sb.ToString(); ((Literal)Page.FindControl("Content7").FindControl("litNavLinks")).Text = sb.ToString(); 无济于事。 我如何确定位置? 回答1 从母版页中: var literal = (Literal)FindControl(

2021-11-30 11:33:30    分类:技术分享    c#   asp.net   findcontrol

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

问题 我有一个表单视图,在 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"); 是什么赋予了? <asp:FormView ID="fvGeneralInfo" runat="server" DataSourceID="objInstructorDetails" OnItemCommand="fvGeneralInfo_ItemCommand" OnItemUpdated="fvGeneralInfo_ItemUpdated"

2021-11-26 07:48:09    分类:技术分享    c#   asp.net   .net   formview   findcontrol

Using FindControl() to find control

I have a Literal control that I am trying to locate so I can insert text into it. I have a Master page that contains several content placeholders. <asp:Content ID="Content7" ContentPlaceHolderID="MainLinks" runat="server"> <h3>Project Navigation</h3> <ul class="rightColBoxNav"> <asp:Literal ID="litNavLinks" runat="server" /> </ul> </asp:Content> I keep getting "Object reference not set to an instance of an object." How do I locate this object so I can find and update it? I have tried: ((Literal)Page.FindControl("litNavLinks")).Text = sb.ToString(); ((Literal)Page.Page.FindControl("litNavLinks"

2021-11-22 16:24:29    分类:问答    c#   asp.net   findcontrol

asp.net FindControl Recursively

This is a really weird one - I will do my best to explain. I have a basic master page: <%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="master_MasterPage" %> <!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> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form id="form1" runat="server"> <div> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder>

2021-11-20 18:52:49    分类:问答    asp.net   dynamic   recursion   controls   findcontrol

can't find control in FormView?

I need find this <a> tag resided in a FormView control, I need to remove this a tag depending on the condition but I can't find it using FormView.FindControl method <asp:UpdatePanel ID="upDiscipline" runat="server"> <ContentTemplate> <asp:FormView ID="fvMediaIntro" runat="server"> <ItemTemplate> <div class="clipControls"> <a runat="server" id="iNeedToFindThis" href="#">here</a> </div> </ItemTemplate> </ContentTemplate> </asp:UpdatePanel> I tried fvMediaIntro.FindControl() and fvMediaIntro.Row.FindControl(), neither worked. Any idea please??

2021-11-20 12:24:32    分类:问答    c#   asp.net   formview   findcontrol

FormView.FindControl(): object reference error

I have a formview that has several textboxes inside of tr/td's. I'm trying to get the textboxes by using the .FindControl method but it's coming back null. The FormView is always in Edit mode (so I'm always in the EditItemTemplate) and i'm trying to load querystring values into the textboxes coming from the previous page so I do need this to happen on page_load. I do this on Gridviews all the time like this: txtFirstName = (TextBox)fvGeneralInfo.FindControl("txtFirstName"); or like this: txtFirstName = (TextBox)fvGeneralInfo.FooterRow.FindControl("txtFirstName"); or like this: txtFirstName =

2021-11-20 11:23:23    分类:问答    c#   asp.net   .net   formview   findcontrol

ASP.NET 是否有更好的方法来查找其他控件中的控件?(ASP.NET Is there a better way to find controls that are within other controls?)

问题 我目前在 ascx 控件中有一个下拉列表。 我需要从位于同一页面上的另一个 ascx 后面的代码中“找到”它。 它的值用作 ascx #2 上 ObjectDataSource 的参数。 我目前正在使用这段丑陋的代码。 它有效,但我意识到如果控制顺序发生变化或其他各种事情,它不会是我所期望的。 有没有人有任何建议我应该如何正确地做到这一点? if(Page is ClaimBase) { var p = Page as ClaimBase; var controls = p.Controls[0].Controls[3].Controls[2].Controls[7].Controls[0]; var ddl = controls.FindControl("ddCovCert") as DropDownList; } 谢谢,新年快乐!! ~ck在圣地亚哥 回答1 通常,当您有大量控件查找要做时,我会实现“FindInPage”或递归 FindControl 函数,您只需将控件传递给它,它就会递归地沿控件树下降。 如果这只是一次性的事情,请考虑在 API 中公开您需要的控件,以便您可以直接访问它。 public static Control DeepFindControl(Control c, string id) { if (c.ID == id) { return c; }

2021-11-19 05:20:08    分类:技术分享    c#   asp.net   ascx   findcontrol