c# - 在回发的会话中保持 ListBox 选择
问题描述
正如您在下面看到的,我知道如何为一个选择执行此操作,但这仅适用于最近的单个选择,我想为多个选择执行此操作。
Session["SelectedListItem"] = this.LstRecipients.SelectedValue;
if (Session["SelectedListItem"] != null)
{
this.LstRecipients.SelectedValue = (string)Session["SelectedListItem"];
}
如何在会话的列表框中存储多个选择,然后在回发时重新选择这些选择?
解决方案
您可以在会话中存储任何内容,因此您可以将其存储为string[]
or List<string>
:
string[] selectedValues = this.LstRecipients.Items.Cast<ListItem>()
.Where(i => i.Selected)
.Select(i => i.Value)
.ToArray();
Session["SelectedItemValues"] = selectedValues;
/* on next postback you can retrieve the values in this way: */
var selectedValues = Session["SelectedItemValues"] as string[];
if (selectedValues != null)
{
foreach(ListItem item in this.LstRecipients.Items)
item.Selected = selectedValues.Contains(item.Value);
}
推荐阅读
- c# - SAML2.0 加密异常(X509 证书)
- nfc - 如何更改 ACR122U / PN532 上的轮询顺序
- scala - 在 Spark 的嵌套结构中递归地重命名列
- python - 不工作或不懂 tf.contrib.distribute.MirroredStrategy()
- c# - 从 C# 中的多个搜索返回列表
- typescript - 编写一个通用联合类型的 getter
- python - 有没有办法在不复制列表的情况下从列表创建单列 pandas DataFrame?
- spring - Thymeleaf 本地 @{} 网址不起作用
- pentaho-spoon - Pentaho Web Services Lookup 无法加载 url
- create-react-app - yarn create 不像 npx 那样工作