【问题标题】:How to save Array in View State? And Retrieve That in ASP.NET?如何将数组保存在视图状态?并在 ASP.NET 中检索它?
【发布时间】:2012-02-18 04:04:08
【问题描述】:

我正在使用带有 JqueryMobile (C#) 的 Asp.Net。我声明 string[] roomno = new string[100];在我的课堂上。

Page_load 事件中:-

if (!Page.IsPostBack)
{
    Some Code...
     for (int j = 0; j <= vallen; j++)
     {
         roomno[j] = "A" + Convert.ToString(j + 1);
     }
    Some Code,..
}

当我单击按钮时,数组值是清晰的。 所以我想知道如何在视图状态中保存数组?并在 ASP.NET 中检索它?

【问题讨论】:

    标签: asp.net viewstate


    【解决方案1】:
    ViewState["some_key"] = roomno;
    
    roomno = ViewState["some_key"] as string[];
    

    或类似的词:)

    【讨论】:

    • 我试过了,但是,.. 无法将类型'object'隐式转换为'string[]'。存在显式转换(您是否缺少演员表?) roomno = ViewState["some_key"]; 中出现错误。怎么投?
    • 我只知道 Convert.Tostring。谢谢。
    • 查看我添加到答案中的“as string[]”位。这基本上是将视图状态“对象”转换为“字符串 []”,但如果该对象不能转换为“字符串 []”,那么您将设置一个空值而不是 InvalidCastException。因此,您可能需要在代码中进行空值检查。
    【解决方案2】:
    ViewState["SomeKey"] = (string[])roomno;
    roomno = (string[])ViewState["SomeKey"];
    

    或者初始化

    string[] roomno = string[0]; 
    ViewState.Add("SomeKey", roomno);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-24
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      • 1970-01-01
      相关资源
      最近更新 更多