c# - 下拉选择的值为空
问题描述
我正在使用网络表单。我有一个国家的表格DropDownList
:
<asp:DropDownList runat="server" ID="Country"
DataValueField="CountryID" DataTextField="CountryDisplayName"/>
我在后面的代码中填写:
var countries = CountryService.GetCountries();
countries.Insert(0, new CountryInfo { CountryName = "", CountryDisplayName = "", CountryID = 0 });
Country.DataSource = countries;
Country.DataBind();
一切都很好,但现在我正试图将此控件移动到单独的控件。
我已经移动了它,它充满了国家。
问题是我正在使用回发来填写表格,并且当单独控件SelectedValue
中的下拉菜单始终为空时。
问题的原因可能是什么?
解决方案
听起来回发正在删除信息,或者您的数据绑定正在替换它。
- 您是否尝试过将 country.databind() 包装在 !IsPostback 中?
- 您是否尝试过在标记中添加 SQLDatasource,将其链接到下拉列表,添加 AutoPostback 并查看它是否有效?
见下文:
<asp:DropDownList runat="server" AutoPostBack="True" ID="Country"
DataValueField="CountryID" DataTextField="CountryDisplayName" DataSourceID="SqlDataSource1"/>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:XXXXXConnectionString %>" ProviderName="<%$ ConnectionStrings:XXXXXConnectionString.ProviderName %>" SelectCommand="XXXX">
推荐阅读
- matlab - 关于将差分方程重新构造为矩阵方程的问题
- javascript - 使用 Dailymotion javascript SDK 时,参数 queue-enable 不起作用
- powershell - 如何在 Pester 5 中为嵌套函数定义“It”测试?
- node.js - node.js readline:“TypeError:rl 不可迭代”
- angular - CodeSandbox 上的“没有 ErrorHandler 错误。是否包含平台模块(BrowserModule)”
- xcode13 - Xcode 13 - 在工具栏中隐藏 git 分支
- mysql - Mysql查询结果为每个类别生成月份(1-12)并按类别排列在同一列中
- asp.net-core - .net-core 没有立即释放大对象(在 linux 下)的原因可能是什么?
- python - 使用 Python 字典计算 txt 文件中的项目
- python - vscode 查找 jupyter 扩展的完整版本构建号