`
smartgz
  • 浏览: 71240 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

ViewState的使用

ASP 
阅读更多
      只知道有个叫Session的东西,可以跨页面保存变量,在它的存在时期。现在又有个叫ViewState的东西,我是没用过,现在也该开始用了,一般是用来保存控件的值或状态。
      如果你把表单用动态的table来排版,就可以来遍历控件了。
      先看页面代码:

        <table id="Table1" runat="server" style="width: 221px">
            <tr>
                <td style="width: 60px">Name</td>
                <td><asp:TextBox ID="NameTextBox" runat="server"></asp:TextBox></td>
            </tr>
            <tr>
                <td style="width: 60px">From</td>
                <td><asp:TextBox ID="FromTextBox" runat="server"></asp:TextBox></td>
            </tr>
            <tr>
                <td style="width: 60px">To</td>
                <td><asp:TextBox ID="ToTextBox" runat="server"></asp:TextBox></td>
            </tr>
        </table>

    有了runat ="server"就是服务器控件了,然后看怎么遍历。
    先是保存到各自的 ViewState

        foreach (HtmlTableRow row in Table1.Rows)
        {
            foreach (HtmlTableCell cell in row.Cells)
            {
                Control control = cell.Controls[0];
                if (control is TextBox)
                {
                    ViewState[control.ID] = ((TextBox)control).Text;
                }
            }
        }

    然后是读取出来再重新赋值

 foreach (HtmlTableRow row in Table1.Rows)
        {
            foreach (HtmlTableCell cell in row.Cells)
            {
                Control control = cell.Controls[0];
                if (control is TextBox)
                {
                    string value = (string)ViewState[control.ID];
                    if (value != null)
                    {
                        ((TextBox)control).Text = value;
                    }
                }
            }
        }

    一个最科学的方法是建立一个对应的类,然后用类来操作。
分享到:
评论

相关推荐

    viewstate的应用 vs2005 sql2005

    2. **VS2005中的Viewstate使用**:在VS2005中,开发人员可以轻松地启用或禁用控件的Viewstate。通过控件的EnableViewState属性,可以控制是否保存和恢复控件的状态。此外,还可以通过Page类的ViewState属性访问整个...

    ViewState解析工具源码

    源码可能包含优化ViewState大小的方法,如排除不必要的控件状态或使用自定义的ViewState管理器。 6. **安全性考量**:除了加密,ViewState还涉及到一些安全问题,如防止跨站请求伪造(CSRF)攻击。源码可能包含防止...

    .net 中viewstate的原理和使用

    #### 使用ViewState存储数据 在实际开发过程中,ViewState还可以被用来存储数据。具体来说,可以通过以下几种方式操作ViewState: - 设置数据:`ViewState[key] = value;` 或者 `ViewState.Add(key, value);` - ...

    viewstate用法

    然而,如果不正确或不谨慎地使用`ViewState`,可能会对应用程序产生负面影响,包括数据泄漏、安全性问题、性能下降以及扩展性受限。 1. **数据泄漏**: `ViewState`存储在页面的隐藏字段中,这意味着它会随着HTTP...

    viewstate视图状态解码

    Viewstate视图状态是ASP.NET框架中的一个关键特性,它用于在页面的多个生命周期阶段之间持久化数据。...尽管有一些性能和安全的考量,但正确理解和使用Viewstate能够极大地提升开发效率和用户体验。

    ViewState工具.rar

    在实际应用中,了解和正确使用ViewState至关重要,因为它涉及到用户体验、性能和安全。例如,ViewState过大可能导致页面加载速度变慢,而未加密的ViewState可能暴露敏感数据。因此,开发人员需要掌握如何有效地管理...

    asp.net服务器端保存viewstate例子,html中不在有viewstate

    当浏览器提交表单时,这个ViewState被发送回服务器,服务器解码并使用这些信息来恢复控件的状态。这种机制使得服务器能够知道用户在回发时对页面所做的任何更改。 为了解决ViewState在HTML中的问题,我们可以创建一...

    viewstate实验

    根据"viewstate实验"的描述,你可能已经探索了如何在实际项目中使用和控制ViewState,可能包括测试其效果,理解其工作流程,或者比较不同状态管理方式的优劣。实验结果表明,ViewState功能虽然基础,但并不复杂,...

    理解ASP.NET的ViewState

    ASP.NET提供了多种机制来保护ViewState免受篡改,例如使用MAC(消息认证码)来验证ViewState的完整性。此外,还可以通过配置启用ViewState加密,进一步提高安全性。 #### 结论 总的来说,虽然ASP.NET ViewState为...

    ASP.NET ViewState 初探

    ASP.NET ViewState 是一种机制,主要用于在Web应用的页面往返行程中保持用户界面(UI)的状态。...开发者应该根据实际应用场景来决定是否使用以及如何使用ViewState,以实现最佳的用户体验和应用性能。

    .net ViewState解码器

    6. **性能考虑**:为了减少网络传输负载,可以考虑在服务器端手动设置`EnableViewState="false"`以关闭单个控件的ViewState,或者使用`ViewStateMode`属性来按需启用ViewState。 7. **跨站脚本攻击(XSS)**:虽然...

    非常方便好用的ViewState查看工具

    当开发人员遇到与ViewState相关的问题时,例如控件状态丢失、页面行为异常等,他们可以使用这个工具来查看和分析ViewState的内容。只需将页面中包含ViewState的HTML代码复制粘贴到工具中,点击“decode”按钮,工具...

    asp.net 2.0中通过压缩ViewState

    然而,随着页面复杂性的增加,ViewState可能会变得非常大,导致页面载入速度变慢,尤其是对于使用AJAX(异步JavaScript和XML)技术的页面。为了优化性能,开发者可以考虑对ViewState进行压缩。 ViewState是ASP.NET...

    Session,ViewState用法

    ##### ViewState的使用方法: 1. **启用ViewState:** ```xml ``` 默认情况下,服务器控件已经启用了ViewState。 2. **自定义状态管理:** ```csharp public class MyControl : System.Web.UI.WebControls....

    ViewState 查看工具

    使用ViewState查看工具的主要好处包括: 1. **调试**:在开发过程中,如果发现页面状态丢失或行为异常,查看ViewState内容可以帮助定位问题。工具可以帮助识别哪个控件保存了不期望的数据,或者查看是否有过多的...

    ViewState查看工具

    3. **使用ViewState查看工具**:该工具可以帮助开发者查看页面的ViewState内容,包括哪些控件贡献了ViewState,以及它们各自的大小。这对于识别可能造成页面加载缓慢的大体积ViewState很有帮助。 4. **优化...

    ASP.NET ViewState

    4. **使用ControlState**:对于只有一两个关键属性需要保留状态的控件,可以考虑使用ControlState,它比ViewState更轻量级。 5. **自定义ViewState管理**:如果需要更细粒度的控制,可以通过继承`Page`类并重写`...

    ViewState 代码查看器

    使用`ViewStateDecoder2.0.exe`这个工具,你可以: 1. 打开工具,选择要分析的ASP.NET页面。 2. 工具将自动提取页面的ViewState数据。 3. 解码ViewState,显示其内部结构,包括控件ID、值和额外的元数据。 4. 分析...

    asp.net页面中的viewstate内容解析器

    使用这些ViewState解码器,开发者可以查看哪些控件的数据被保存,以及它们如何在页面间传递。这有助于识别潜在的性能问题,比如是否因为不必要的数据存储在ViewState中导致页面过重。此外,这些工具也可以用来检查...

    viewstate压缩算法源码

    1. **压缩过程**:在服务器端,当一个页面的状态被序列化到ViewState时,可以使用一种称为GZip或Deflate的压缩算法来减小其大小。这些压缩算法通过查找并替换重复的数据序列来实现压缩。在ASP.NET中,这个过程通常在...

Global site tag (gtag.js) - Google Analytics