为什么我需要在asp.net中对视图状态变量进行类型转换

时间:2015-08-24 13:30:05

标签: c# asp.net

我是asp.net的初学者,我遇到过以下这些陈述

声明1

android:layout_margin="10dp"

声明2

ViewState["clicks"] = 5;

我的疑问是,如果我能够直接赋值int ...当我在viewstate变量中递增值时,为什么需要进行类型转换? 在此先感谢.......

2 个答案:

答案 0 :(得分:2)

ViewState["clicks"]会返回object。您无法在Object上使用+-operator(添加)。因此,您需要将对象强制转换为实际类型int。然后它编译。<​​/ p>

首先评估右侧并将其分配回ViewState。如果你把它分成多行,也许它会越来越清晰:

int oldClicks = (int)ViewState["clicks"];
int newClicks = oldClicks + 1;
ViewState["clicks"] = newClicks;

答案 1 :(得分:1)

因为ViewState[]将返回object类型的对象。