2011-10-07 3 views
0

나는 많은 asp : label 컨트롤을 가진 사용자 정의 컨트롤을 가지고 있으며 코드 뒤에서 텍스트 속성에 액세스해야한다. 이 작업을 수행하는 쉬운 방법이 있습니까? 나는 행운과 함께 레이블의 ID.Text를 사용하여 시도했다. 여기 코드 숨김에서 asp : label 텍스트 속성에 액세스하는 방법?

는 ASCX 코드 :

<div id="labelContainer"> 
<asp:Label ID="productDescription" class="productDescription fontCaps" runat="server" 
    Text="express" /> 
<br /> 
<asp:Label ID="serviceDescription" class="serviceDescription fontCaps" runat="server" 
    Text="express 24" /> 
<div id="shipFrom"> 
    <label class="font8 fontCaps" style="margin-left: 15px;"> 
     From:</label><asp:Label ID="companyName" class="font8 fontCaps" Style="margin-left: 5px;" 
      runat="server" Text="customer integration management" /> 
    <label class="meeterLabel font8 fontCaps"> 
     MEETER:</label> 
    <asp:Label ID="meeterNo" class="meeterNumber font8 fontCaps" runat="server" Text="34001" /> 
    <br /> 
    <div id="fromAddress"> 
     <asp:Label ID="fromAddressLine1" class="font8 fontCaps" runat="server" Text="orbital park" /> 
     <br /> 
     <asp:Label ID="fromAddressLine2" class="font8 fontCaps" runat="server" Text="178-188 great west road" /> 
     <br /> 
     <asp:Label ID="fromTown" class="font8 fontCaps" runat="server" Text="hounslow" /> 
     <br /> 
     <asp:Label ID="fromCountry" class="font8 fontCaps" runat="server" Text="middlesex" /> 
     <asp:Label ID="fromPostcode" class="font8 alignRight fontCaps" runat="server" Text="tw4 6js" /> 
    </div> 
    <div id="toAddress"> 
     <label class="font8 fontCaps"> 
      To:</label><asp:Label ID="orgName" class="font10 addressTabs fontCaps" runat="server" 
       Text="organisation name" /> 
     <label class="font10 fontCaps" style="margin-left: 100px;"> 
      Tel: &nbsp;</label><asp:Label ID="phone" class="font10 fontCaps" runat="server" Text="0208 818 8000" /> 
     <br /> 
     <asp:Label ID="departmentName" class="font10 addressTabs2 fontCaps" runat="server" 
      Text="department name" /> 
     <br /> 
     <asp:Label ID="toAddressLine1" class="font10 addressTabs2 fontCaps" runat="server" 
      Text="address line 1" /> 
     <br /> 
     <asp:Label ID="toAddressLine2" class="font10 addressTabs2 fontCaps" runat="server" 
      Text="address line 2" /> 
     <br /> 
     <asp:Label ID="toTown" class="font11 addressTabs2 fontCaps" runat="server" Text="town" /> 
     <br /> 
     <asp:Label ID="toCountry" class="font11 addressTabs2 fontCaps" runat="server" Text="county" /> 
     <br /> 
     <asp:Label ID="toPostcode" class="font11 addressTabs2 fontCaps" runat="server" Text="ub5 1aj" /> 
    </div> 
    <div id="serviceCodeContainer" style="text-align: left;"> 
     <div id="svcCode"> 
      <label style="color: #fff; font-size: 11pt; font-family: Arial; font-weight: bold; 
       vertical-align: text-top;"> 
       Handling:</label> 
      <br /> 
      <asp:Label ID="serviceCode" class="fontCaps" Style="margin-left: 18px; font-size: 18pt;" 
       Text="STD" runat="server" /> 
     </div> 
     <asp:Label ID="dayTime" class="fontCaps alignFarRight alignTop fontBold font11" runat="server" /> 
     <asp:Label ID="pieceCount" Text="1/1" class="fontCaps pieceCountRight pieceCountTop fontBold font20" 
      runat="server" /> 
     <label class="font8 fontCaps"> 
      Shipment No:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label><asp:Label ID="shipmentNo" 
       class="font8 fontCaps" runat="server" Text="123456" /> 
     <br /> 
     <label class="font8 fontCaps"> 
      Consignee Ref:&nbsp;&nbsp;&nbsp;&nbsp;</label><asp:Label ID="consigneeRef" class="font8 fontCaps" 
       runat="server" Text="Your Customer Reference" /> 
     <br /> 
     <label class="font8 fontCaps"> 
      Consignor Ref:&nbsp;&nbsp;&nbsp;</label><asp:Label ID="consignorRef" class="font8 fontCaps" 
       runat="server" Text="Your Reference" /> 
    </div> 
    <div style="text-align: center; margin-bottom: 5px;"> 
     <asp:Label ID="serviceCentre" Style="padding-right: 60px;" class="font20 fontBold fontCaps" 
      runat="server" Text="hayes" /> 
     <asp:Label ID="hub" class="font20 fontBold fontCaps" runat="server" Text="hatfield" /> 
    </div> 
</div> 
<div> 
    <div style="text-align: center; margin-bottom: 5px;"> 
     <asp:Image ID="Image1" ImageUrl="~/images/barcode.jpg" runat="server" /> 
    </div> 
    <div style="text-align: center; margin-top: 5px; margin-bottom: 5px;"> 
     <asp:Label ID="routingCode" class="font8 fontBold fontCaps" runat="server" Text="2lgbub51aj+01000002" /> 
    </div> 
    <div style="text-align: center;"> 
     <asp:Image ID="licensePlateImg" ImageUrl="~/images/barcode2.jpg" runat="server" /> 
    </div> 
    <div style="text-align: center; margin-top: 5px;"> 
     <asp:Label ID="licensePlate" class="font8 fontBold fontCaps" runat="server" Text="(J)JD00 022 340 0100 0124" /> 
    </div> 
</div> 

하지만 사용자 컨트롤의 뒤에 코드에서 액세스하려고 할 때, 나는 더 Text 속성을 얻을 수 없습니다.

public string Label1Text 
{ 
    get { return this.label1.Text; } 
} 

// using 
this.myusercontrol.Label1Text; 

또는 사용자 컨트롤의 내부 레이블을 찾아보십시오 :

+1

당신을 위해 작동하지 않는 쇼 코드 'labelId.Text'는 올바른 방법입니다 – sll

+1

그래도 작동하지 않는다면, 뭔가 잘못되었습니다. ASP.NET을 게시 할 수 있습니까? – CodingGorilla

+0

@CodingGorilla 반드시 그렇지는 않습니다. 커스텀'UserControl' 안의 레이블이라면, 그는 ['Control.FindControl'] (http://msdn.microsoft.com/en-us/library/486wc64h.aspx) 함수를 사용해야 할 것입니다. – jadarnel27

답변

2

당신은 같은 사용자 컨트롤에 속성을 만들 필요가

((Label)this.myusercontrol.FindControl('label_id')).Text 
+0

+1,'FindControl'도 제가 생각한 것입니다. – jadarnel27

2

을 내가 할 사용자 conrtrol의 속성을 작성하여

ascx 코드 뒤에. 당신이 그것을 액세스 할 수있는 aspx 페이지에서

public string FirstName 
{ 

    get { return FirstNameTextBox.Text; } 
    set { FirstNameTextBox.text= value; } 
} 

와 같이

MyUserControl.FirstName= "Bob"; 

가 IT가의 공용 텍스트 상자로 텍스트 상자를 설정하는 것보다 영문에서 그런 식으로 접근하는 많은 청소기입니다 Ascx 및 TextBox에 직접 액세스.

public string LabelText 
{ 
    get 
    { 
     return Label1.Text; 
    } 
} 

을 그리고 다음과 같이 코드 숨김의 속성을 참조 :

0

은 다음과 같이 사용자 컨트롤의 속성을 노출

string labelText = UserControl1.LabelText; 
관련 문제