gpt4 book ai didi

asp.net - 从 Gridview 中下拉列表的行中获取数据

转载 作者:行者123 更新时间:2023-12-04 02:51:44 24 4
gpt4 key购买 nike

我有一个 Gridview,其中有一列具有 DropDownList。我已将此下拉列表与“SelectedIndexChanged”上的事件绑定(bind)。问题是我无法获取同一行中另一列的标签值。

接下来是代码:

protected void grid_OnSelectedIndexChanged(object sender, EventArgs e)
{
grdCredenciales.DataBind();

var dropdown = (DropDownList)sender;
var row = (GridViewRow)dropdown.NamingContainer;
var label = (Label)row.FindControl("lblMatricula");

var value = label.Text; // I get "" in this line.
}

在网格中我有:

<asp:ObjectDataSource ID="CredencialesDS" runat="server" />
<asp:GridView ID="grdCredenciales" runat="server" BackColor="White" DataSourceID="CredencialesDS"
CssClass="DDGridView" RowStyle-CssClass="td" HeaderStyle-CssClass="th" CellPadding="6" AllowSorting="True"
AllowPaging="True" AutoGenerateColumns="False" PageSize="10" OnRowDataBound="grdCredenciales_OnRowDataBound">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:Label ID="Label7" ToolTip="Matrícula" runat="server" Text="Matrícula"/>
</HeaderTemplate>
<HeaderStyle HorizontalAlign="Left" Width="15%"/>
<ItemStyle HorizontalAlign="Left" />
<ItemTemplate>
<asp:Label ID="lblMatricula" runat="server"><%# Eval("Matricula") %></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:Label ID="Label19" ToolTip="Estado" runat="server" Text="Estado" />
</HeaderTemplate>
<HeaderStyle HorizontalAlign="Left" Width="15%"/>
<ItemStyle HorizontalAlign="Left" />
<ItemTemplate>
<asp:DropDownList runat="server" ID="dpEstadoCredencial" AutoPostBack="True" OnSelectedIndexChanged="grid_OnSelectedIndexChanged" CssClass="comboEstado"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

我不知道为什么,但 label.text 返回一个空字符串。如您所见,我之前调用了 DataBind,因此此时标签应该有一个值。

你知道如何从另一列的标签中获取我需要的值吗?

谢谢大家。

最佳答案

在执行 DataBind() 之前检查 GridView 的 DataSource。由于您缺少完整的 ASPX 标记,我不确定您是以编程方式还是使用 SqlDataSource 设置数据源。

在任何情况下,以编程方式设置的数据源经常会发生的情况是它们在 PostBack 上消失,当您调用 DataBind 时,您真的将其 DataBinding 为 null,这可以解释为什么您为 LabelText 属性获取 string.Empty ("")。

关于asp.net - 从 Gridview 中下拉列表的行中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533783/

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