2014-06-13 92 views
-2

我在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> 

下面是我的代碼隱藏代碼。

protected void Page_Load(object sender, EventArgs e) 
{    
    LinkButton1.Text = "Test"; 
} 

下面是我得到

錯誤「LinkBut​​ton1」這個名字不會在目前情況下存在

+0

您應該嘗試使用或實現findcontrols方法 – MethodMan

回答

3

不要將您的網頁上有一個LinkButton - 您的UpdatePanel的模板中的GridView的一列中的ItemTemplate中有LinkButton。您需要在所有這些層次之後才能參考LinkButton本身。

1

您正在使用錯誤的方法,正確的方法是在按鈕控件標記本身中分配文本。這個按鈕在gridview裏面,所以它會被重複。你不能參考假設10個呈現的按鈕與一個屬性權利?您必須遍歷並更改行數據綁定事件上的文本。

0

您可能需要使用DataGrid_RowDataBound事件處理函數,並在正確的模板類型中獲取控件的句柄,然後傳遞給事件處理函數的項目在鏈接按鈕上執行查找控件。我會很快得到一個代碼示例。

相關問題