gpt4 book ai didi

asp.net - 从 GridView 获取值

转载 作者:行者123 更新时间:2023-12-02 21:47:18 25 4
gpt4 key购买 nike

我有一个由服务填充的 GridView,并且我在此网格的每一行上添加了一个链接,以便我可以在单击该特定行时采取操作。我想获取所选行中的一些项目,但即使我添加 onSelectedRowChanged 事件,我也不会触发该事件,只是触发我的链接。

<asp:GridView ID="gvTransactionHistory" runat="server" 
AutoGenerateColumns="false"
onselectedindexchanging="gvTransactionHistory_SelectedIndexChanging">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblAmount" runat="server" Text='<%# Eval("preAuthAmount") %>'></asp:Label>
<asp:LinkButton runat="server" Text="Assign+" OnClick="btnAssign"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

这是我的 btnAssign 点击事件,效果很好...

protected void btnAssign(object sender, EventArgs e)
{
Response.Write("Works!");
}

我添加这个是为了看看我是否可以触发这个事件,但我并没有真正改变索引,所以我需要帮助的是了解我可以绑定(bind)到哪个事件将允许我单击我的链接按钮,并从中获取值那行。

protected void gvTransactionHistory_SelectedIndexChanging(object sender, System.Web.UI.WebControls.GridViewSelectEventArgs e)
{
var amount = gvTransactionHistory.SelectedRow.Cells[3].Text;
Response.Write(amount);
}

最佳答案

要使用btnAssign点击事件处理程序来获取行,那么您需要获取被点击按钮的NamingContainer(读取:父级),如下所示:

protected void btnAssign(object sender, EventArgs e)
{
GridViewRow theClickedRow = ((LinkButton)sender).NamingContainer as GridViewRow;

// Check to make sure the clicked row could be found before using it
if(theClickedRow != null)
{
// Find the amount label control
Label theAmountLabel = theClickedRow.FindControl("lblAmount") as Label;

// Again, make sure we actually have something before using it
if(theAmountLabel != null)
{
// Get the actual label's text here
string theAmountLabelText = theAmountLabel.Text;
}
}
}

关于asp.net - 从 GridView 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19302830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com