【发布时间】:2020-12-22 10:22:12
【问题描述】:
DataTable dtPosition = PositionManager.GetPositionByName(institutionName);
if(dtPosition != null && dtPosition.Rows.Count > 0)
{
int positionId = Convert.ToInt32(dtPosition.Rows[0]["PositionID"].ToString());
string positionName = dtPosition.Rows[0]["PositionName"].ToString();
ddlPosition.SelectedValue = positionId.ToString();
ddlPosition.Text = positionName;
}
通过我的dtPosition 数据表,我正在获取positionName 和PositionId,它们已成功加载到 positionId 和 PositionName 变量上。但是当我试图设置我的ddlPosition dropdownList 的值和文本时,它不起作用。也没有错误。
我希望 positionId 和 positionName 成为 ddlPosition 的值和文本。你能告诉我怎么做吗?
【问题讨论】:
-
上面是在Page_Load()上执行的吗?
-
没有。为什么我要在页面加载中执行这个?你可以解释吗?这是我设置 ddlPosition 值的正确过程吗?
-
在 ddlInstitution_SelectedIndexChanged 事件中不执行此操作。
-
控件没有绑定所以不能直接通过代码设置SelectedValue。找到元素的索引并设置 SelectedIndex。查看this answer。
-
我认为这是您的问题,
ddlInstitution_SelectedIndexChanged事件仅在客户端更改控件的值时才会触发。您需要在Page_Load()上设置该值,但值得确保您防止在PostBack期间设置此默认值。这对你有意义吗?
标签: c# asp.net asp.net-mvc webforms dropdown