gpt4 book ai didi

c# - DropDownList asp.net 中所选项目的文本

转载 作者:行者123 更新时间:2023-11-30 15:04:43 25 4
gpt4 key购买 nike

在页面加载中,我填充了一个下拉列表,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
string buildingTypeSoldier = "soldier";
var soldierBuilding = from b in dc.Buildings
where b.buildingtype == buildingTypeSoldier
select b.buildingname;
ddlSoldierBuildings.DataSource =soldierBuilding;
ddlSoldierBuildings.DataBind();
}

但是当我随后尝试将同一页面上的标签文本设置为 selectetitem.text 时,我只得到列表中的第一项,而不是我选择的项目。我尝试使用这样的按钮来设置文本:

protected void btnBuySoldierBuilding_Click(object sender, EventArgs e)
{
lblTestlabel.Text = ddlSoldierBuildings.SelectedItem.Text;
}

下拉列表包含我从数据库中获取的树项、营房、射击场和马厩。单击按钮时页面加载是否会覆盖我的选择?我该如何解决这个问题?

最佳答案

那是因为您的 Page_Load 在您的事件处理程序之前触发。

将您的 Page_Load 初始化逻辑包装在一个 if block 中,您可以在其中通过检查 Page.IsPostback property 来检查您的页面是否正在处理回发。 .如果是回发,那么您的初始化逻辑将不会触发并重置您的下拉列表。

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostback){
string buildingTypeSoldier = "soldier";
var soldierBuilding = from b in dc.Buildings
where b.buildingtype == buildingTypeSoldier
select b.buildingname;
ddlSoldierBuildings.DataSource =soldierBuilding;
ddlSoldierBuildings.DataBind();
}
}

关于c# - DropDownList asp.net 中所选项目的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889971/

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