![](/img/trans.png)
[英]Get old value of label inside GridView during RowUpdating (ASP.NET GridView) C#
[英]Get the value/text of a column in a Gridview in ASP.net C# to display in a label
我有一個gridview
,其中有一個推銷員姓名列表。 當使用Grid
的ButtonFieldTemplate
選擇推銷員時。 我需要選定的業務員的姓名出現在Label
。
到目前為止,我有這個,但是它不起作用:
protected void gvSalesmanByManager_SelectedIndexChanged(object sender, EventArgs e)
{
lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedValue + "'s Customers";
}
它不會引發任何錯誤。 在Visual Studio中甚至沒有紅色的波浪線。 簡直是行不通。
如何在ASP.net和C#4.0中完成此操作。
關於文檔, SelectedValue獲取GridView控件中所選行的數據鍵值。 您的GridView是否包含帶有鍵的列,並且您是否設置了dataKeyNamesProperty(例如datakeynames =“ myID”)?
編輯:要訪問列的值,可以使用SelectedRow:
GridViewRow row = GridView1.SelectedRow;
lblSalesmanCustomers.Text = row.Cells[2].Text;
EDIT2:當您要閱讀模板字段時,有兩個選項。 您可以將值存儲在其他不可見列中,也可以訪問模板字段中的控件。 這樣的事情應該起作用:
lblSalesmanCustomers.Text = ((TextBox)row.Cells[2].FindContol("tbxName")).Text;
確保您沒有在頁面加載事件中分配空文本。 或者您需要將這些初始化放置在if(!Page.IsPostback)塊中
到目前為止,我的代碼是:protected void gvSalesmanByManager_SelectedIndexChanged(object sender,EventArgs e){lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedValue +“'s Customers”; } –
請嘗試在事件“ gvSalesmanByManager_SelectedIndexChanged”中輸入以下代碼:
lblSalesmanCustomers.Text = gvSalesmanByManager.SelectedRow.Cells [0] .Text;
您說過有關“ ButtonFieldTemplate”的內容,請向我展示您的ascx文件中的一些代碼,這對我有很大幫助。
*編輯:“ Controls [1]”不一定正確。 但是0是一個文字。 您還可以調試代碼並設置斷點。 會容易得多。 嘗試使用Linkbutton:LinkButton lnk1 = gvSalesmanByManager.SelectedRow.Cells [0] .Controls [1]作為LinkButton; lblSalesmanCustomers.Text = lnk1.Text;
最好的問候,沒人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.