簡體   English   中英

如何在中繼器控件中獲取鏈接按鈕生成的文本

[英]How to get Link button generated text inside repeater control

我正在創建一個社交網站,我似乎無法在后面的代碼中獲得“ 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>

實際上,當某人單擊此鏈接時,我想獲取“鏈接”按鈕生成的文本作為會話,例如這張照片 你能給我合適的代碼嗎

根據這張照片amilamunasinha@gmail.com必須是LinkEmail.Text ,,我想要這樣

一旦將Repeater控件放置在網頁上,您要做的第一件事就是注冊ItemCommand事件。 我更喜歡在頁面的OnInit事件中執行此操作,而不是將其放置為asp:Repeater標記的屬性。

在.cs文件中:

override protected void OnInit(EventArgs e)
{
   base.OnInit(e);
   Repeater1.ItemCommand += new RepeaterCommandEventHandler(Repeater1_ItemCommand);
}



private void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
        switch (e.CommandName)
        {
            case "mail":
                string emailId = e.CommandArgument.ToString();
                break;
        }
}

在aspx中:

<asp:LinkButton ID="LinkEmail" runat="server" CommandName="mail" CommandArgument='<%# Eval("Email") %>'><%#Eval("Email") %></asp:LinkButton>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM