2016-10-18 26 views
0

このコードの意味を理解できませんでした。なぜ我々はviewstateを使用し、私はここでviewstateを使用する必要があります。私はこの分野に新しいです。それぞれのコード行を理解するのを手伝ってください。ViewStateプロパティコードを理解する必要があります

public int ParentPageVSValue 
    { 
    get 
    { 
     if (ViewState["_ParentPageVSValue"] != null) 
      return int.Parse(ViewState["_ParentPageVSValue"].ToString()); 
     else 
      return 0; 
    } 
    set 
    { 
     ViewState["_ParentPageVSValue"] = value; 
    } 
} 
+0

ViewStateはポストバック間のデータを保存するためのASP.Net機能です。ここで状態管理の詳細を確認してください。https://msdn.microsoft.com/en-us/library/75x4ha6s.aspx – Esko

+0

@ user3510330何かがはっきりしない。 – mybirthname

答えて

0

ビューステートには、ポストバック時に保持する必要がある値を格納できます。

ビューステートは、特定のASP.NETページの状態情報を提供します。複数のページに関する情報を使用する必要がある場合、またはWebサイトを訪問しても情報を保持する必要がある場合。

詳細については、thisポストを参照してください。

2

状態の表示は簡単です。ポストバックには状態 を残しておくのが簡単です。 (ASP.NET Webページの場合は、その状態はそのコントロール階層を構成するコントロールのプロパティ 値である。)

私のアドバイスあなたが記事全体Understanding ASP.NET View State

のViewStateプロパティを読み取るために

各コントロールは、ViewStateのプロパティへの変更状態を添加することによって達成 で自身の状態を保存するための責任があります。 ViewStateプロパティは、System.Web.UI.Controlクラスに定義されています。 は、すべてのASP.NETサーバーコントロールでこのプロパティを使用できることを意味します。 ASP.NETサーバーコントロールの単純なプロパティを調べると、 というプロパティが読み込まれ、ビューステートに直接書き込まれます。たとえば、HyperLink Web コントロールのNavigateUrlプロパティを考えてみましょう。このプロパティのコードはとても 次のようになります。

public string NavigateUrl 
{ 
    get 
    { 
     string text = (string) ViewState["NavigateUrl"]; 
     if (text != null) 
      return text; 
     else 
      return string.Empty; 
    } 
    set 
    { 
     ViewState["NavigateUrl"] = value; 
    } 
} 

、それはあなたのページのHTMLに名前__VIEWSTATEに隠されたフィールドとして追加されたどのようにビューステートを募集しています: View State

デコード方法ビューステートを探しています:

View State decoded

をだからあなたの場合には、あなたがPRを作成しますビューステート(HTMLの隠しフィールド)にint値を保存するoperty。その後、同じ隠しフィールドから検索することができます。

関連する問題