asp.net如何通过回发存储文本框值(表)

时间:2011-04-08 19:47:33

标签: asp.net

我使用asp:table / cell组合创建了一个动态矩阵显示。并添加了一个文本框,在每个单元格中显示一个值。在这一点上,我正在创建一个视图状态,它将完成整个表格。

现在,如果我更新文本框并单击“保存”,我将获得空表(因为回发),并且ViewState中的值也是陈旧的 - 它们不是更新的用户值。

有没有办法在每个文本框更改时创建视图状态。如何存储已编辑的文本框值?

2 个答案:

答案 0 :(得分:0)

您不需要存储文本框值,因为它们都已准备好回发。

您只需要从帖子中阅读它们。

Request.Form[YourTextBox.UniqueID]

现在,如果您希望将它们保存在viewState上,您可以使用类似

的代码
string YouData
{
    set 
    { 
        ViewState["cYouData"] = value;
    }
    get
    {
        if (ViewState["cYouData"] != null)
            return ViewState["cYouData"].ToString();
        else
            return string.Empty;
    }
}

但这样做的唯一原因是要了解某些事情是否发生了变化,并找出某些事情是否发生了变化,一个简单的哈希就可以完成工作。

答案 1 :(得分:0)

检测PostBack并在那里重新加载值:

if (!Page.IsPostBack) 
{   
  // initial load 
} 
else 
{   
  // postback    
}