簡體   English   中英

單擊子 LinkButton 控件時訪問具有多條記錄的 Datalist 控件中的子 label 控件值?

[英]Access child label control value in Datalist control with multiple records when child LinkButton control is clicked?

我有一個帶有 Datalist 控件和 FormView 控件的 aspx 頁面。 Datalist 顯示所有記錄,FormView 被隱藏。 FormView 顯示記錄的詳細信息,而 Datalist 控件被隱藏。 當我點擊Datalist I go 中的一條記錄到Formview 顯示時,編輯選中的記錄。

如何將記錄 id 傳遞給單擊事件到 select 數據庫中的記錄並在 Formview 中顯示詳細信息?

有多個具有相同客戶端 ID 的控件,運行時會在末尾附加一個數字以使客戶端 ID 唯一。

這是我想從后面的代碼訪問的控件:

<asp:Label ID="lHideAndSeek" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IdString") %>' CssClass="hideAndSeek">

這里是我使用到 select 公司詳細信息的控件:

<asp:LinkButton ID="btnSelectCompany" runat="server" CausesValidation="false"
                    onclick="btnSelectCompany_Click"><%# DataBinder.Eval(Container.DataItem, "Name") %></asp:LinkButton>

這是我想要在單擊鏈接按鈕時訪問 label 控件並將值傳遞給 SelectCompany() 而不是硬編碼 4 的代碼:

protected void btnSelectCompany_Click(object sender, EventArgs e)
{
    DataList1.Visible = false;

    FormView1.ChangeMode(FormViewMode.ReadOnly);

    using (jpEntities myEntities = new jpEntities())
    {
        FormView1.DataSource = myEntities.SelectCompany(4);
        FormView1.DataBind();
    }

    FormView1.Visible = true;
}

謝謝你看這個!

您可以將 CommandArgument 屬性添加到您的 LinkButton 並綁定它的數據,就像您對 Text 屬性所做的那樣。 然后您可以從代碼隱藏中提取該值。

像這樣的東西。

<asp:LinkButton ID="btnSelectCompany" runat="server" 
            CausesValidation="false" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id") %>' OnClick="btnSelectCompany_Click"><%# DataBinder.Eval(Container.DataItem, "Name") %></asp:LinkButton>

LinkButton linkButton = sender as LinkButton;
int id = int.Parse(linkButton.CommandArgument);

暫無
暫無

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

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