标签: viewstate

什么是ASP.NET中的ViewState?

谁能尽可能简洁地解释ViewState(在ASP.NET中)?

.net asp.net viewstate

1
推荐指数
1
解决办法
2162
查看次数

回发后视图状态不会持续存在

我在为控件(vb.net)在回发时保留视图状态时遇到了一些问题

这是我控制的一些代码:

Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
            MyBase.OnInit(e)
            Me.EnableViewState = True
            Me.ViewStateMode = System.Web.UI.ViewStateMode.Enabled
            If Not Page.IsPostBack Then
                _SortTime = DateTime.Now
                _SortTime.AddSeconds(-10) ' incase the fileserver and webserver date are out of sync
                ViewState("PageLoadTimeStamp") = _SortTime      
            End If
        End Sub
Run Code Online (Sandbox Code Playgroud)

负载:

Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)

        _SortTime = CType(ViewState("PageLoadTimeStamp"), DateTime)

End Sub
Run Code Online (Sandbox Code Playgroud)

但是在每次回发时,视图状态再次为空。

更新:我想做什么?我想存储用户第一次加载页面的时间。然后,用户将进行多次回发。在每次回发时,我都需要知道那个时间。

更新 2:上下文:

  • aspx 页面 (Editor.aspx) 将动态加载 web 控件 (ObjectsEditor.ascx)
  • ObjectsEditor.ascx 包含单个自定义控件 (Objects.vb)
  • Objects.vb 将创建另一个自定义控件 (ObjectsContainer.vb) 并将其添加到它的控件中。ObjectsContainer 需要持久化视图状态。

我在任何地方都设置了 EnableViewState …

.net vb.net viewstate page-lifecycle

1
推荐指数
1
解决办法
2万
查看次数

在asp.net中查看状态

我可以禁用每个控件的viewstate,但不能禁用整个页面.

有没有办法在整个页面中禁用viewstate?

asp.net viewstate

0
推荐指数
1
解决办法
191
查看次数

如何强制在页面生命周期的早期阶段加载视图状态?

我正在开发一个自定义控件,需要在init上加载它的viewstate.我可以随时取消查看状态加载吗?

.net c# asp.net viewstate

0
推荐指数
1
解决办法
657
查看次数

当 Control 变为 Enable=False 时,ASP.Net ViewState 不起作用

为什么当一个控件确实包含值但它设置为 .Enable=False 时,所有控件都会变为禁用(没关系),但为什么 ViewState 不会在下一次回发时保留数据?如果我获取 UserControl 而不修改其启用状态,则 ViewState 在回发之间工作。

我们如何禁用 UserControl 使其所有控件都变为禁用(这部分有效),但所有控件都保留使用 ViewState(这不起作用)?

澄清:

1)在aspx.cs中单击按钮编辑:

myControl.Enabled = false;
//This produce to have all controls in myControl to be disabled.
Run Code Online (Sandbox Code Playgroud)

2)在asp.cs中:点击Save离开EDIT状态:

myControl.Enabled = true;
//This produce that all controls inside myControl are blank : no viewstate!
Run Code Online (Sandbox Code Playgroud)

其他回发之所以有效,是因为我们没有将 myControl.Enable 设置为 false。

c# asp.net viewstate .net-2.0 c#-2.0

0
推荐指数
1
解决办法
1401
查看次数

ASP.NET状态管理对初学者来说是否会令人生畏?

对于所有ASP.NET专家和初学者,您是否认为状态管理是一项艰巨而烦人的任务?如果你重新开始使用ASP.NET,你会考虑使用ASP.NET MVC而不必再次处理ViewState吗?

另外,一旦你进入ASP.NET MVC,你永远不会回到ASP.NET Webforms(当然除非你的工作要求),这是真的吗?

.net asp.net viewstate asp.net-mvc webforms

0
推荐指数
1
解决办法
171
查看次数

如何在编码在简单的http post -objective-c中使用的字符串之前转义所有特殊字符

我正在构建一个简单的http POST请求.在这篇文章中我需要添加一些项目,其中一项是在前一个请求中被拉下来的大型视图状态字符串.我注意到的是,原始请求需要转义所有特殊字符(如下所示)

_ EVENTTARGET =& _ EVENTARGUMENT =& __ VIEWSTATE = %% 3D&

但我不确定我是否在目标c中做到了这一点.目前,当我NSLog出视口状态字符串时,它仍然显示/和=字符.

任何人都可以证实我在正确的道路上吗?如果不是,我将如何转换viewstate中的特殊字符(即 - 而不是=我应该得到%3D)?

- (void)doHttpPostWithViewState:(NSString *)viewstate
{ 
  responseData = [[NSMutableData data] retain];

  NSURL *url = [NSURL URLWithString:@"https://localhost/Login"];
  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

  NSString* theBodyString = [[NSString alloc] initWithFormat:@"__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%@",viewstate];
  NSData *requestData = [theBodyString dataUsingEncoding:NSUTF8StringEncoding];

  NSDictionary * headers = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];

  [request setHTTPMethod:@"POST"];
  [request setValue:@"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" forHTTPHeaderField:@"Accept"];
  [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
  [request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
  [request setHTTPBody: requestData];
  [request setAllHTTPHeaderFields:headers];

  [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
Run Code Online (Sandbox Code Playgroud)

最后,为了本地调试目的 …

viewstate escaping objective-c

0
推荐指数
1
解决办法
2040
查看次数

viewstate不工作,不禁用它

property curRefID:

   public string curRefID
    {
        get
        {
            return  ViewState ["curid"] as string;
        }
        set
        {
            ViewState ["curid"] = value;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我在方法InitUCControl()中初始化它

   protected override void OnInit ( EventArgs e )
        {
            base.OnInit ( e );
            if ( !IsPostBack )
            {
                InitUCControl ( );
            }
        }
Run Code Online (Sandbox Code Playgroud)

然后我想在按钮单击事件中使用该属性,它始终返回null.但是当我在InitUCControl()中调试它时它有一个值.我不知道为什么它不能工作......太奇怪了.ps:我没有禁用viewstate.在页面的html源代码viewstate可以找到.

asp.net viewstate

0
推荐指数
1
解决办法
116
查看次数

ASP.NET:关于在ViewState中存储对象

如果我希望对象在回发中保持不变,那么在ViewState中存储Object是个好主意吗?还有更好的想法吗?我担心ViewState的大小太大了......

asp.net viewstate

0
推荐指数
1
解决办法
2781
查看次数

DropDownList在PostBack之后丢失索引

我有一个下拉列表,我从SQL服务器填充数据.

我在Page_Init()事件中动态填充下拉列表.根据值,选择ListItem.

现在的问题是,当我在下拉列表中选择另一个项目时,在回发后,选择将重置为下拉列表中的第一个项目.

这是我的代码的基本版本,它不起作用:

        ArrayList AD_Group_Members = ActiveDirectory.GetMemberOfGroup("AD-Group");
        ArrayList ListMachines = SQLQuery.Read("Database", "SELECT idVM, RandomString, Computername, Owner, FROM VM ORDER BY Computername");

        for (int i = 0; i < ListMachines.Count; i++)
        {
            String RandomString = ((Hashtable)ListMachines[i])["RandomString"].ToString();
            String Owner = ((Hashtable)ListMachines[i])["Owner"].ToString();
            DropDownList DropDownList_Owner = new DropDownList();
            DropDownList_Owner.ID = "DropDownList_Owner_" + RandomString;
            DropDownList_Owner.Width = Unit.Percentage(95);
            DropDownList_Owner.AutoPostBack = true;
            DropDownList_Owner.EnableViewState = true;
            DropDownList_Owner.SelectedIndexChanged += DropDownList_Owner_SelectedIndexChanged;
            Div_Test.Controls.Add(DropDownList_Owner);
            for (int y = 0; y < AD_Group_Members.Count; y++)
            {
                ListItem ListItem = new ListItem(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net viewstate postback drop-down-menu

0
推荐指数
1
解决办法
3903
查看次数

将ListItem从一个ListBox复制到另一个ListBox

我正在asp.net页面上实现一些功能,这样:并排列表框,左边一个是预先填充的,另一个是空的.除了左侧列表框还有添加按钮,除此之外还有删除按钮.我编写了javascript代码,这样在Add按钮上单击所选listItems从左列表框移动到右列表框,反之亦然.

它如下:

在此输入图像描述

当我提交表单时,在代码隐藏中,我无法从右侧ListBox中检索新移动的值(我知道它不可能以这种方式). 如何访问代码隐藏中使用javascript更改到列表框所做的更改.

任何帮助赞赏.

javascript c# asp.net viewstate listbox

0
推荐指数
1
解决办法
572
查看次数

在不同页面上保留大约1KB的数据

使用Javascript/Jquery(1.7)/ Ajax,是否可以在同一个域中的2个不同页面上保留大约1kb的数据?

例如,用户将信息输入到文本框中,并从该页面导航到特定的不同页面.

那么alert用户可以使用上一页的文本框信息吗?

javascript viewstate ajax jquery

0
推荐指数
1
解决办法
40
查看次数