FindControl 함수를 사용하여 페이지에서 컨트롤을 찾습니다. 그것은 슈퍼 간단하고 똑바로 MSDN에 보인다지만 컨트롤을 찾을 수 없습니다. 내가 사용하고있는 페이지는 aspx 파일에 contorl을 부여하는 id보다 더 많은 Preaments 인 MasterPageFile을 가지고 있습니다. 작동하지 않는 간단한 예 :vb.net을 사용하여 페이지에서 컨트롤 찾기
aspx 페이지
<%@ Page Title="Inventory Control Test" Language="VB" AutoEventWireup="false" MasterPageFile="~/Site.master" CodeFile="Default2.aspx.vb" Inherits="Sales_ajaxTest_Default2" %>
<asp:Content ID="conHead" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="conBody" ContentPlaceHolderID="MainBody" Runat="Server">
<asp:Button ID="saveAllBtn" runat="server" Text="Save All" />
</asp:Content>
코드
Partial Class Sales_ajaxTest_Default2
Inherits System.Web.UI.Page
Protected Sub saveAllBtn_Click(sender As Object, e As System.EventArgs) Handles saveAllBtn.Click
Dim myControl1 As Control = FindControl("ctl00_MainBody_saveAllBtn")
If (Not myControl1 Is Nothing) Then
MsgBox("Control ID is : " & myControl1.ID)
Else
'Response.Write("Control not found.....")
MsgBox("Control not found.....")
End If
End Sub
뒤 최종 등급
는 그 MSGBOX가 난 웹 일이 아니다 얻을 이 예제에서는 그냥 사용하고 있습니다. "FindAllBtn"컨트롤에 주어진 ID를 사용하면 FindControl에서 "컨트롤을 찾을 수 없습니다."라는 메시지가 나타납니다. 이것을 시도해도 masterpage가없는 독립형 페이지에서 제대로 작동합니다. 내가 크롬을 사용하여 요소를 검사하는 경우
나는 버튼의 ID 내가의 FindControl에 아직도 얻을 사용하는 경우 "ctl00_MainBody_saveAllBtn은"하지만
[this] (http://geekswithblogs.net/mahesh/archive/2006/06/27/83264.aspx) 읽기가 도움이 될 수 있습니다 .. C#에서 수행됩니다. – BrOSs