C# asp.net+;Viewstate和逗号分隔的字符串
我读过很多关于页面如何因过度使用Viewstate而陷入困境的文章,我不确定是否使用逗号分隔的字符串(可能由3-4个单词组成)并将其拆分为数组C# asp.net+;Viewstate和逗号分隔的字符串,c#,asp.net,viewstate,C#,Asp.net,Viewstate,我读过很多关于页面如何因过度使用Viewstate而陷入困境的文章,我不确定是否使用逗号分隔的字符串(可能由3-4个单词组成)并将其拆分为数组 string s = 'john,23,usa'; string[] values = s.Split(','); 对于检索,这将有所帮助,因为我看到我的许多同事正在这样做,可能是为了提高页面加载性能。有人能提出建议吗?事实上,在某些情况下,这的确会有所不同,但这似乎很棘手,而且往往无关紧要。 见以下案例: 示例显示了以字节为单位的ViewState大
string s = 'john,23,usa';
string[] values = s.Split(',');
对于检索,这将有所帮助,因为我看到我的许多同事正在这样做,可能是为了提高页面加载性能。有人能提出建议吗?事实上,在某些情况下,这的确会有所不同,但这似乎很棘手,而且往往无关紧要。
见以下案例: 示例显示了以字节为单位的
ViewState
大小,这意味着没有任何内容的页面将导致68字节的ViewState
。
其他所有内容都是手动加载到ViewState
的内容
string x = string.Empty;
for (int i = 0; i < 10000; i++)
{
if (i != 0) x += ",";
x += i;
}
//x = "0,1,2,3,4,5,6,7,8...9999"
ViewState["x"] = x;
//Result = 65268 bytes
将字符串值0..9999放在ViewState
上
string x = string.Empty;
for (int i = 0; i < 10000; i++)
{
if (i != 0) x += ",";
x += i;
}
//x = "0,1,2,3,4,5,6,7,8...9999"
ViewState["x"] = x;
//Result = 65268 bytes
如果覆盖页面SaveViewState
方法:
protected override object SaveViewState()
{
//100 bytes
return new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
//100 bytes
return "1,2,3,4,5,6,7,8,9,10";
}
由于
ViewState
是加密和Base64编码的,
在某些情况下,可能只是对两个不同的对象进行字符串编码,从而生成两个不同的页面输出。事实上,在某些情况下确实会有所不同,但这看起来很棘手,而且往往不相关。见以下案例: 示例显示了以字节为单位的
ViewState
大小,这意味着没有任何内容的页面将导致68字节的ViewState
。
其他所有内容都是手动加载到ViewState
的内容
string x = string.Empty;
for (int i = 0; i < 10000; i++)
{
if (i != 0) x += ",";
x += i;
}
//x = "0,1,2,3,4,5,6,7,8...9999"
ViewState["x"] = x;
//Result = 65268 bytes
将字符串值0..9999放在ViewState
上
string x = string.Empty;
for (int i = 0; i < 10000; i++)
{
if (i != 0) x += ",";
x += i;
}
//x = "0,1,2,3,4,5,6,7,8...9999"
ViewState["x"] = x;
//Result = 65268 bytes
如果覆盖页面SaveViewState
方法:
protected override object SaveViewState()
{
//100 bytes
return new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
//100 bytes
return "1,2,3,4,5,6,7,8,9,10";
}
由于ViewState
是加密和Base64编码的,
在某些情况下,可能只是对两个不同对象进行字符串编码,从而生成两个不同的页面输出