c# - C# 和 Asp.net 中的 GridView 中的多个下拉列表,如城市、州、国家
问题描述
我想开发 3 个下拉列表城市、州、国家。当我选择国家时,它应该只显示与城市和州相同的所选国家的州
ASP.NET 代码:
<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="manager" OnRowEditing="GridView1_RowEditing">
<Columns>
<asp:CommandField ShowEditButton="True" ShowSelectButton="True" />
<asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
<asp:BoundField DataField="username" HeaderText="username" ReadOnly="True" SortExpression="username" />
<asp:TemplateField HeaderText="ma_city" SortExpression="ma_city">
<EditItemTemplate>
<asp:DropDownList ID="ddl_city" runat="server" AutoPostBack="True" SelectedIndex='<%# Eval("city_id") %>' SelectedValue='<%# Bind("ma_city") %>' DataSourceID="city">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ma_city") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ma_state" SortExpression="ma_state">
<EditItemTemplate>
<asp:DropDownList ID="ddl_state" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList5_SelectedIndexChanged1" SelectedIndex='<%# Bind("state_id") %>' SelectedValue='<%# Bind("ma_state") %>' DataSourceID="state">
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("ma_state") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ma_country" SortExpression="ma_country">
<EditItemTemplate>
<asp:DropDownList ID="ddl_country" runat="server" AutoPostBack="True" DataSourceID="country" DataTextField="name" DataValueField="Id" OnSelectedIndexChanged="DropDownList4_SelectedIndexChanged" SelectedIndex='<%# Eval("countrt_id") %>' SelectedValue='<%# Bind("ma_country") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Bind("ma_country") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ma_pincode" HeaderText="ma_pincode" SortExpression="ma_pincode" />
<asp:BoundField DataField="Ma_phone_no" HeaderText="Ma_phone_no" SortExpression="Ma_phone_no" />
</Columns>
</asp:GridView>
我还在每个事件中使用以下代码,例如(这是在 visualstudio 2017 中自动生成的):
DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
GridView1_SelectedIndexChanged(object sender, EventArgs e)
我使用两种类型的代码通过以下方式获取 gridview 参考:
GridView gridView = (GridView)((((Control)sender).Page.Items[GridView1]));
GridViewRow gridViewRow = gridView.SelectedRow;
DropDownList dpl5 = (DropDownList)gridViewRow.FindControl("ddl_state");
DropDownList dpl6 = (DropDownList)gridViewRow.FindControl("ddl_city");
代码:-
GridViewRow gridViewRow = GridView1.SelectedRow;
DropDownList dpl5 = (DropDownList)gridViewRow.FindControl("ddl_state");
DropDownList dpl6 = (DropDownList)gridViewRow.FindControl("ddl_city");
这两者都给我 null 作为回报。
解决方案
推荐阅读
- reverse-proxy - 带有 www 的域不适用于 Caddy 服务器
- tcp - 与 gRPC 的 TCP 会话
- database - SELECT DISTINCT 是否意味着 Seq Scan?
- mysql - 根据来自其他表的连接获取列的计数
- html - 如何从 html 到 Django 视图中检索特定类型的所有字段的 ID 和名称
- javascript - React-Router-4 如何检查手动输入的额外(不必要的)斜杠“/”?
- javascript - 从 Pandas Dataframe 到 Javascript 数组
- javascript - 使用 nodeJs 从网站上抓取并检查 Ember.VERSION
- c++ - 为 C++11 算法组合多个谓词
- c# - 测试 Discord 邀请链接是否无效?