2014-12-26 5 views
0

Я создаю сайт социальной сети, я, похоже, не получаю ссылку «LinkEmail» в коде, мне нужно, чтобы он работал, когда я использую его для публикации в базе данных.Как получить идентификатор элемента внутри репитера

LinkEmail динамически генерируется в первом повторителе, мне нужен способ захватить это значение.

на данный момент я получаю эту ошибку в браузере:

Компилятор Сообщение об ошибке: CS0103: The name 'LinkEmail' does not exist in the current context

это ASPX код

<asp:Repeater runat="server" ID="Repeater1"> 
<ItemTemplate> 

    <div style="border-top: thin none #91ADDD; border-bottom: thin none #91ADDD; padding: 10px; width: 548px; margin-top: 10px; right: 10px; left: 10px; border-left-width: thin; margin-left: 15px; background-color: #F6F6F6; border-left-color: #91ADDD; border-right-color: #91ADDD;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        <br /> 
        <div style="width: 58px; height: 40px"> 
        <asp:Image ID="Image2" runat="server" Height="59px" ImageAlign="Top" ImageUrl="~/Profile/Image/Default.png" Width="55px" /> 
         </div> 
        <div style="width: 307px; margin-left: 65px; margin-top: -60px"> 
         <asp:Label ID="Label6" runat="server" Font-Bold="True" Font-Names="Arial" ForeColor="#3b5998"><%#Eval("YourName") %> </asp:Label> 
        </div> 
        <div id="status" style=" width: 461px; margin-left: 78px; margin-top: 11px;">&nbsp;<asp:Label ID="Label7" runat="server" Font-Italic="False" ForeColor="Black" Font-Size="Medium"><%#Eval("Birthday") %> </asp:Label> 

         <asp:LinkButton ID="LinkEmail" runat="server" OnClick="lbl_Click"><%#Eval("Email") %></asp:LinkButton> 
         <asp:Button ID="Button1" runat="server" Text="Button" /> 
        </div> 

        &nbsp; 
       </div> 


</ItemTemplate> 

Не могли бы вы сказать мне, как получить идентификатор LinkButton в мой код за файлом?

ответ

2

Вы можете найти его в ItemCommand событие, как это: -

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    LinkButton LinkEmail= e.Item.FindControl("LinkEmail") as LinkButton ; 
} 

Вам необходимо связать этот обработчик событий с вашим контролем, как это: -

<asp:Repeater runat="server" ID="Repeater1" OnItemCommand="Repeater1_ItemCommand"> 
+0

Я хочу onlick событие, но я не могу получить repeater1_itemcommand в onlick случае –

+0

@ facebook-100002270512731 - Вы должны связать 'CommandName' к нажмите кнопку «Ссылка», а затем напишите свою логику в событии «ItemCommand», проверьте эту ссылку: http://stackoverflow.com/questions/14861690/how-to-use-linkbutton-in-repeater-using-c-sharp-with- asp-net-4-5 –

+0

Я [только хочу этого] (https://scontent-a-ams.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/10676371_1504823446473898_7054992759456936682_n.jpg?oh=14f071a725eb3e737b205afc713d110f&oe = 54FDAAF 4), но этого не происходит –

0
foreach(RepeaterItem item in Repeater1.Items) 
{ 
LinkButton LinkEmail=(LinkButton)item.FindControl("LinkEmail"); 

//Do here what ever you want 

} 

с помощью Sender

Вы получаете RepeaterItem, литая кнопку связи NamingContainer. Затем вы можете использовать FindControl, чтобы получить ссылку на другие элементы управления.

protected void lbl_Click(object sender,EventArgs e) 
{ 
LinkButton LinkEmail=(LinkButton) sender; 
var RepeaterRow=(RepeaterItem)LinkEmail.NamingContainer; 

    //find your other control like this 
Label Label6=(Label) RepeaterRow.FindControl("controlname") 

//Do here what ever you want 
} 

Или Вы можете использовать ItemCommand в Предложил Рахул Singh

+0

спасибо, где я должен вставить этот код foreach? Должен ли я использовать оба кода? –

+0

@ facebook-100002270512731 вы можете использовать второй 1, если хотите сохранить свои значения в своих базах данных 'lbl_Click' –

+0

не могли бы вы рассказать мне [что это за ошибка] (https://scontent-a-ams.xx.fbcdn.net /hphotos-xpa1/v/t1.0-9/10885072_1504804756475767_8990827318624925776_n.jpg?oh=4540b7a708df485bc2c2119d16eef4f1&oe=552CB1B8), я вставляю второй код в свой файл cs –

Смежные вопросы