Thursday, September 18

ASP.NET之不爽
首先是ViewState。我本希望在codebehind的cs程序里直接定义类变量
protected int typeID;
即可以维持状态了,而且我在aspx里也设置了enableViewState="True",但是只有愿望是不行的。
不这样做是不行的。:<
protected int typeID
{
get{return (int)ViewState["typeID"];}
set{ViewState["typeID"] = value;}
}


另外,就是ViewState这个名字也是奇怪的。既然所谓的View State只能在一个Page里有效,为什么不直接使用Page这个名字呢。
Page["typeID"] = 123;
不是更爽一些吗?即使在控件里使用Page这个名字也没什么奇怪的,因为控件最终还是要在Page里使用的。
大概是不好实现吧?对微软来说,好像也不难吧。:S

另一个不爽的地方是web用户控件ascx不能像普通服务器控件一样,在aspx中%@ Register以后,自动在codebehind中自动追加类变量,还要
%@ Reference Control="MyUserControl.ascx" %

Control c1 = LoadControl("MyUserControl.ascx");
((MyUserControl)c1).BackColor = "beige";
Page.Controls.Add(c1);

我的天啊,巨麻烦!!!

No comments: