ViewState 是 ASP.NET 用來存放網頁上伺服器端控制項 (server control) 狀態的一個隱藏欄位,所以當你檢視你的 ASP.NET 網頁原始檔,會發現一個 "__VIEWSTATE" 的隱藏欄位,其值是一堆看不懂的字元,就如同下列的例子。

<INPUT type="hidden" name="__VIEWSTATE"
value="dDwxNTgzOTU2ODA7dDw7bDxpPDE+Oz47bD
x0PDtsPGk8MT47PjtsPHQ8QDA8cDxwPGw8UGFnZU
NvdW50O18hSXRlbUNvdW50O18hRGF0YVNvdXJjZ
Ul0ZW1Db3VudDtEYXRhS2V5czs+O2w8aTwxPjtpPD
g+O2k8OD47bDw+Oz4+Oz47Ozs7Ozs7OztAMDxAMD
xwPGw8SGVhZGVyVGV4dDtEYXRhRmllbGQ7U29yd
EV4cHJlc3Npb247UmVhZE9ubHk7PjtsPHB1Yl9pZDtwd=="/>

當使用 LoadRunner VuGen 錄製含有 ViewState 的 ASP.NET網站應用時,就會需要做關聯 (Correlation)。

其關聯的範例腳本如下:

web_reg_save_param("MyViewState","LB=\"__VIEWSTATE\" value=\"","RB=\"",LAST);

假如 ASP.NET 網頁上的控制項一多,ViewState 會變得很大,所以通常也會需要使用 web_set_max_html_param_len 函數將參數 (Parameter) 的長度給適度地放大:

web_set_max_html_param_len("2048");

其他關於 ViewState 的參考資料:ViewState: All You Wanted to Know