2011-10-07 27 views
0

我有一堆asp:标签控件的用户控件,我需要从后面的代码中访问它们的文本属性。是否有捷径可寻?我尝试使用标签的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属性。

+1

这是不是为你工作的代码所示, 'labelId.Text'是正确的方法 – sll

+1

如果这不起作用,那么就有问题了。你可以发布你的ASP.NET吗? – CodingGorilla

+0

@CodingGorilla不一定正确。如果它们是自定义'UserControl'中的标签,则他需要使用['Control.FindControl'](http://msdn.microsoft.com/zh-cn/library/486wc64h.aspx)函数。 – jadarnel27

回答

2

您需要在类似的用户控件创建属性:

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

// using 
this.myusercontrol.Label1Text; 

,或者尝试找到用户控制的内部标签:

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

+1,'FindControl'就是我的想法。 – jadarnel27

2

我这样做是通过在用户控领域建立资源

ascx代码后面。

public string FirstName 
{ 

    get { return FirstNameTextBox.Text; } 
    set { FirstNameTextBox.text= value; } 
} 
在ASPX页面,您可以访问它

如图所示:

MyUserControl.FirstName= "Bob"; 

这是一个很大的清洁工具来ASPX访问这种方式比它设置文本框作为公共文本框Ascx并直接访问TextBox。

0

暴露的属性在用户控件,就像这样:

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

,并引用属性在代码背后,是这样的:

string labelText = UserControl1.LabelText; 
相关问题