2012-04-17 45 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上找到。