在HiddenField asp.net中存储一个字符串数组

我需要使用asp.net将一个字符串数组存储在我的webform中的HiddenField中.有人可以告诉我如何才能实现呢?谢谢

解决方法

可能有几种方法可行.

1)在JSON中序列化String []

这在使用JavaScriptSerializer类的.NET中相当容易,并避免了分隔符字符的问题.就像是:

String[] myValues = new String[] { "Red","Blue","Green" };
string json = new JavaScriptSerializer().Serialize(myValues);

2)使用不会出现在字符串中的分隔符

使用|||等字符分隔每个字符串这将不会出现在字符串中.您可以使用String.Join()来构建此字符串.就像是:

String[] myValues = new String[] { "Red","Green" };
string str = String.Join("|||",myValues);

然后重建它像:

myValues = str.Split(new string[] { "|||" },StringSplitOptions.RemoveEmptyEntries);

如果您可以信任您的输入,例如一系列预定义的选择,这可能是最佳选择.否则,您可能想要检查输入字符串,以确保它们不包含此分隔符,如果您想要非常安全.您可以使用HttpUtility.HtmlEncode()来首先转义每个字符串.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...