2012-04-17 84 views
0

我使用@RenderPage傳遞一個數組:我如何重置陣列內容

@RenderPage("/Shared/_ScopeFormControls.cshtml", ChangeScope) 

的數組聲明,最初設置爲:

string[,] ChangeScope = { { "True" }, { "" }, { "" } }; 

接收頁面解構數組變量在它自己的if語句中使用:

string[,] ChangeScope = PageData[0]; 
var isValid = ChangeScope[0,0]; 
var InvsOut = ChangeScope[1,0]; 
var ItemsToMoveIDs = ChangeScope[2,0]; 

這一切都工作正常,當頁面第一次加載。

我想重新設置if(IsPost)中數組的內容,依賴於一堆if語句,然後Renderpage會被新的值重新調用。

基本上我想用數組像一個正常的變量並覆蓋新的內容其現有的內容,這樣的:

ChangeScope = { { "True" }, { "IntoScope" }, { ItemsToMoveIDs } }; 

這可能嗎?

+0

你必須說'ChangeScope = new string [,] {...}'。 '新字符串[,]'是必不可少的。 – 2012-04-18 19:45:28

回答

1

你真的找簡單的東西如:

if (IsPost) 
{ 
    ChangeScope = new string[,] { { "True" }, { "" }, { "" } }; 
} 
+0

是的,這基本上是我所擁有的,但它不能編譯。它說:只有賦值,調用,增量,減量和新的對象表達式可以用作語句。 – Pinwheeler 2012-04-18 19:07:28

+0

@CharlotteCopper:然後發佈你確實有的代碼,也許我們可以幫助你弄清楚爲什麼你會得到一個錯誤。 – 2012-04-18 19:44:49

0

嘗試使用Array.Clear()。

更多信息可在MSDN here上找到。