无法访问代码隐藏页中的控件
本文关键字:控件 代码隐藏页 访问 | 更新日期: 2023-09-27 18:08:28
我在Gridview中声明了Linkbutton控件,但在后面的代码中我无法访问它。下面是我的aspx页面代码。
<%@ Page="" Language="C#" AutoEventWireup="true" MasterPageFile="~/MainMaster.Master"
CodeBehind="Page.aspx.cs" Inherits="IntakeLibrary.Page" %>
<%@ Register="" Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:UpdatePanel ID="updatePanel" runat="server">
<contenttemplate>
<asp:GridView ID="grdView" runat="server">
<Columns>
<asp:TemplateField HeaderText="Text">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</contenttemplate>
</asp:UpdatePanel>
</asp:Content>
下面是我的codebehind代码。
protected void Page_Load(object sender, EventArgs e)
{
LinkButton1.Text = "Test";
}
下面是我得到的错误
名称'LinkButton1'在当前上下文中不存在
您的页面上没有LinkButton
-您在UpdatePanel
模板的GridView
的ItemTemplate
的一列中有LinkButton
。在你能够引用LinkButton
本身之前,你需要到达所有这些图层。
你正在使用错误的方法,正确的方法是在按钮控件标签本身分配文本。此按钮位于网格视图内,因此将重复使用。你不能引用假设10个带有一个属性的渲染按钮?您必须循环遍历并更改它们的text on row数据绑定事件
您可能必须使用DataGrid_RowDataBound事件处理程序并以正确的模板类型获取控件的句柄,然后对传递给事件处理程序的项在链接按钮上执行查找控件。我将很快给出一个代码示例。