永发信息网

c# 关于ViewState 属性的使用

答案:1  悬赏:0  手机版
解决时间 2021-07-26 06:15
  • 提问者网友:蓝莓格格巫
  • 2021-07-25 20:10

//创建定制控件

//谁知道这里的 viewstate工作原理吗?

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;

namespace PCSCustomWebControls
{
public class RainbowLabel : Label
{
private Color[] colors = new Color[]{Color.Red ,Color.Orange,Color.Yellow ,
Color.GreenYellow ,Color.Blue,Color.Indigo ,Color.Violet };

private int offset
{
get
{
object rawOffset = ViewState["_offset"];
if (rawOffset != null)
{
return (int)rawOffset;
}
else
{
ViewState["_offset"] = 0;
return 0;
}
}
set
{
ViewState["_offset"] = value;
}
}
public void Cycle()
{
offset = ++offset;
}
protected override void Render(HtmlTextWriter output)
{
string text = Text;
for (int pos = 0; pos < text.Length; pos++)
{
int rgb = colors[(pos + offset) % colors.Length].ToArgb() & 0xFFFFFF;
output.Write("<font color='#" + rgb.ToString("X6") + "'>"
+ text[pos] + "</font>");
}
}
}
}

最佳答案
  • 五星知识达人网友:野味小生
  • 2021-07-25 20:23
ViewState["_offset"]在本页面(当前页面)保持状态,和Session、application一样,但只能用于当前页面。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯