嗨,這裏是關於asp.net狀態管理的一個問題。 我想存儲三個值到單個viewstate.Is它可能存儲在單個或我會去三個viewstate變量。在單個viewstate對象中存儲多個值
基本需要是,我正在使用gridview rowcommand事件來查找三個值。 我想用這些值在button_click event.it是直接不可能的,所以我更喜歡viewstate。
如果有其他方式可以做到這一點你可以發佈。我是.net開發新手,所以請分享一些你的知識。
嗨,這裏是關於asp.net狀態管理的一個問題。 我想存儲三個值到單個viewstate.Is它可能存儲在單個或我會去三個viewstate變量。在單個viewstate對象中存儲多個值
基本需要是,我正在使用gridview rowcommand事件來查找三個值。 我想用這些值在button_click event.it是直接不可能的,所以我更喜歡viewstate。
如果有其他方式可以做到這一點你可以發佈。我是.net開發新手,所以請分享一些你的知識。
您可以使用任何分隔符。例如:
ViewState["items"] = item1 + "~" + item2 + "~" + item3
對於從ViewState中檢索值,將值拆分爲「〜」。
當其中一個項目包含'〜'? – tomfanning
@tomfanning我已經在我的回答中說過,您可以選擇任何分隔符(根據您的數據和需要)。 –
您可以使用任何你想要的分隔符。 但是如果你使用了三個單獨的變量,你的代碼會更清晰。
讓.net處理視圖狀態。使用一個變量似乎是不必要的複雜。
您可以創建一個類,並使用Serializable屬性標記它。然後創建該類的列表實例,並將其作爲1項存儲在視圖狀態中。這是當你有很多值存儲。但是你是一個簡單的例子,我認爲:
[Serializable()]
class SomeData
{
public string Value1 {get; set;}
public string Value2 {get; set;}
public string Value3 {get; set;}
}
添加到視圖狀態:
ViewState.Add("myData", new SomeData() {Value1 = "A",
Value2 = "B",
Value2 = "3"});
從ViewState中檢索回回傳:
var data = (SomeData)ViewState["myData"];
Label1.Text = string.Format("{0}, {1}, {2}",
data.Value1, data.Value2, data.Value3);
如果您喜歡,請將其標記爲答案... – deostroll
在你的情況下,您不需要的ViewState - 您可以將它們存儲在代碼背後的變量中,因爲rowcommand和button_click都會在同一個帖子後觸發。您只需將ViewState中的項目存儲在郵寄內容中即可。
但按鈕位於ModelClickup擴展器(按鈕單擊gridview)之後rowcommand模型彈出窗口將打開,並且該彈出窗口上有按鈕(button_click)。 –
好吧,但我仍然不確定你需要ViewState - 你不能只是通過button_click中的gridview行循環?但如果你不能,我會去三ViewState屬性 –
@FrankJames一個ViewState屬性的例子是'私人字符串Item1 {得到{返回(字符串)ViewState [「Item1」];}集{ViewState [「Item1」] =值;}}' –
你有什麼理由想把它們放在一個變量中嗎? – nunespascal
從你的問題中刪除了'asp.net-mvc'標籤,因爲ASP.NET MVC中沒有這種ViewState的概念。 –