服务器控件标记上的Eval ViewState值?

时间:2011-10-10 13:47:14

标签: c# asp.net viewstate

有没有办法在服务器控件标记上评估ViewState值?

<asp:TextBox    Text='<%#Eval(Viewstate["key"])%>' runat='server' />

感谢。

3 个答案:

答案 0 :(得分:0)

只需为该ViewState值添加监视,或设置断点并使用立即窗口。

答案 1 :(得分:0)

修改更改的答案更符合您的要求,以便在控件上设置可见性。

在设置Viewstate值后,在后面的代码中粘贴数据绑定()将起作用。 e.g。

aspx.cs: -

protected void Page_Load(object sender, EventArgs e)
{

    ViewState["Test"] = "hello";
    DataBind();
}

aspx: -

<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtHello" runat="server" visible='<%#  ViewState["Test"].ToString()    == "hello"  %>' Text="Show Hello"></asp:TextBox>
</div>
</form>
</body>

将“显示问候”,但如果您将viewstate值更改为其他值,则不会。

答案 2 :(得分:0)

你可以这样做:

<asp:Label runat="server" Text='<%# ViewState["key"] %>'/>

&lt;%#%&gt;注释意味着内部的任何内容都提供对代码隐藏的访问。在这种情况下,它将访问ViewState并检索“key”下保存的项目。因此,标签的@Text将是ViewState [“key”]的值。