gpt4 book ai didi

asp.net:获取 DropDownList 的 SelectedItem 并保留列表项

转载 作者:行者123 更新时间:2023-12-02 17:07:34 25 4
gpt4 key购买 nike

我有一个小页面,其中有标签、DropDownList 和一个提交按钮。

<div>
<asp:label id="Message" runat="server"/>
<br />
Which city do you wish to look at on hotels for?<br /><br />
<asp:dropdownlist id="Dropdownlist1" runat="server" EnableViewState="true">
</asp:dropdownlist>
<br /><br /><br /><br />
<input type="Submit" />
</div>

在表单加载时,我将项目插入到 DropDownList 中,然后单击按钮,我将显示 DropDownList 中项目的计数。这是相应的代码。


if (Page.IsPostBack)
{
Message.Text = "您已选择"+ Dropdownlist1.Items.Count.ToString();
}
别的
{
Message.Text = "您已选择"+ Dropdownlist1.Items.Count.ToString();
Dropdownlist1.Items.Add("马德里");
Dropdownlist1.Items.Add("钦奈");
Dropdownlist1.Items.Add("纽约");
}

这是有趣的部分。如果我直接从 IDE 运行它,它工作得很好。我第一次得到的计数为 0,当我按下提交按钮时计数为 3。我需要在现有的虚拟目录上运行这个小代码。如果我在该虚拟目录中运行相同的 aspx 页面,则第一次加载时我会得到计数 0。当我单击“提交”时,计数为 0,并且 DropDownList 中没有看到任何项目,它正在被清除。我已将 ViewState 设置为 true,以便记住插入的内容。

我不确定从 IDE 运行它和从另一个虚拟目录运行它有什么区别。我对 Asp.Net 相当陌生,所以我在这里用尽了所有选项,以便了解 DropDownList 的工作原理。我这里缺少配置吗?

顺便说一句,仅供引用,当我将 DropDownList 放入向导控件中时,我遇到了同样的问题。当从 IDE 运行时,它工作正常,但是当我从虚拟目录运行时,它没有获取所选值,也没有记住 DropDownList 中的项目。

According to your code the list only gets populated when it is not a PostBack. Therefore when you click the button the list will be empty.If you dynamically populate the list, the items are not remembered. You must added in each Page_load. The view state will only remember which item was selected.

当页面直接从 IDE 执行时,它如何记住这些项目,而不记住当我从虚拟目录运行时。是否有我可能需要设置的 View 状态才能使其正常工作。缓存设置也没有多大运气。我启用了跟踪信息,又是一件有趣的事情:|,直接从 IDE 而不是从虚拟目录执行时会发生跟踪。再问一遍,子目录的 web.config 应该覆盖父目录的 web.config 对吗?

最佳答案

听起来您可能在页面级别禁用了 EnableViewState。与其他响应相反,如果启用了 ViewState,则无需在 PostBack 上重新填充列表。

尝试在页面标题中添加 EnableViewState="true"属性。

我认为这是一个错误。如果在页面级别启用EnableViewState=“false”,在控件级别启用EnableViewState=“true”,则控件不会像应有的那样保留ViewState。

如果您只想为某些控件启用 ViewState,请在页面级别设置 EnableViewState="true",然后为不想保留 ViewState 的控件设置 EnableViewState="false"。倒退,我知道,但这是唯一的解决方法。

关于asp.net:获取 DropDownList 的 SelectedItem 并保留列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/198535/

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