标签: page-lifecycle

在Page_Load之前处理事件

我有一个asp.net网页,其中包含大量代码,这些代码在页面的Page-Load事件中处理.我在页面上还有一个下拉框,应该用新值重新加载页面,但我希望在处理整个页面加载代码之前得到这个新值.我试图了解ASP.NET页面生命周期.

我应该将页面加载代码移动到以后的事件,还是有办法在页面加载事件开始之前获取下拉列表值的值?

TIA

asp.net page-lifecycle pageload

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

8
推荐指数
2
解决办法
7003
查看次数

Page_Load vs OnLoad

为什么DisplayUsers();不起作用?

我的基页是:

public class adminPage : System.Web.UI.Page
{
    protected override void OnLoad(EventArgs e)
    {
        if (User.Identity.IsAuthenticated == false) { Response.Redirect("~/Account/login.aspx?ReturnUrl=/admin"); };
        if (!(User.IsInRole("admin") || User.IsInRole("super user"))) { Response.Redirect("/"); };
    }        
  }
Run Code Online (Sandbox Code Playgroud)

我的班级是

public partial class users : adminPage
{ 
    protected void Page_Load(object sender, EventArgs e)
    {                        
        string sName;
        adminGeneralData.GetToolData(2, out sName);
        pageH1.Text = sName;

        DisplayUsers();
    }

    protected void DisplayUsers()
    {
        DataSet ds = userData.GetUsersData();
        userList.DataSource = ds;
        userList.DataBind();
    }
}
Run Code Online (Sandbox Code Playgroud)

DisplayUsers()不起作用,

.net c# asp.net page-lifecycle

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

当你不能使用ViewState时你会怎么做?

我有一个相当复杂的页面,可以在转发器内动态构建用户控件.在初始化之前,必须在Init页面事件期间绑定此转发器,ViewState否则动态创建的用户控件将不会保留其状态.

这会创建一个有趣的Catch-22,因为我需要在初始页面加载时创建绑定转发器的对象,然后将其保留在内存中,直到用户选择离开或保存为止.

因为我不能ViewState用来存储这个对象,但是在Init期间可以使用它,我被迫将它存储在Session中.

这也有问题,因为我必须在非回发期间显式地使会话值为空,以便模拟ViewState工作方式.

在这种情况下,必须有一种更好的状态管理方法.有任何想法吗?

编辑:一些关于使用的好建议LoadViewState,但是当我这样做时,我仍然遇到状态未恢复的问题.

这里有一点如果是页面结构

Page - > UserControl - > Repeater - >动态创建的N量UserControl.

我将重写LoadViewState放在父级中UserControl,因为它被设计为完全封装并独立于它所在的页面.我想知道问题出在哪里.

asp.net viewstate webforms page-lifecycle

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

应该在ASP.NET页面中完成哪些操作?

我对ASP.NET很陌生,在打了几个问题之后,我想知道我做错了什么(我养成了这样做的坏习惯).我有兴趣了解ASP.NET的运行方式.

我的问题是:我在哪里可以找到文件来指导我决定在哪里进行哪些处理?

作为一些具体的例子(我对这些问题的答案感兴趣,但我更倾向于指出一个提供更一般答案的资源):

  • 我应该做什么处理Page_Load
  • 我应该对Load活动进行什么处理?
  • 有什么怎么办的Page_Unload
  • 做什么顺序?
  • 每个事件何时被解雇?
  • 什么是页面生命周期?

编辑:这个问题也可能对某些人有用.

asp.net page-lifecycle

7
推荐指数
3
解决办法
1131
查看次数

回发数据和视图状态数据之间有什么区别

我试图了解Asp.net页面生命周期中的不同事件.我遇到了这个链接.它有两个阶段加载视图状态和加载回发数据.我曾经认为这两者意味着同样的事情.但是这篇文章说,回发数据不是视图状态数据.我不明白这一点.如果有人可以看看.

.net asp.net page-lifecycle

7
推荐指数
2
解决办法
9329
查看次数

ASP.NET-强制子/容器事件在父onload之前触发?

我正在研究一种问卷类型的应用程序,其中问题存储在数据库中.因此,我在每个Page.OnLoad上动态创建我的控件.这就像一个魅力,并且在回发之间保持ViewState,因为我确保我的动态控件始终具有相同的生成Control.ID.

除了动态填充问题的用户控件之外,我的问卷页面还包含一个"状态"部分(也由用户控件封装),表示问卷的状态(选项为"完成","已启动"或"在进展').如果用户更改问卷状态(即从"进行中"更改为"完成"),我需要回发到服务器,因为问卷的动态部分的内容取决于所选状态.

无论状态如何,一些问题始终存在,而其他问题可能根本不存在于所选状态.关键是,当状态发生变化时,我必须回发到页面并呈现正确的问题集.此外,我需要为那些"始终可用"的问题保留任何用户输入的值.

但是,由于ASP.NET中的页面生命周期,"状态"用户控件的OnLoad(包含从DB加载正确问题所需的正确状态)在"动态问题"用户控件之后才会执行已填充(错误/陈旧值).

为了解决这个问题,我将一个事件从我的"状态"用户控件引发到主页面,以指示状态已更改.然后主页面在"动态问题"用户控件上引发一个事件.因为当这个事件冒出来时,"动态问题"用户控件已经从DB加载了"错误"的问题,它首先调用Controls.Clear.然后,它愉快地使用新状态来查询数据库中的"正确"问题,并在每个问题上执行Control.Add().仅供参考,Control.ID在回发中保持一致.

这个解决方案有效......分类.确定了所选状态的正确问题集; 然而,ViewState因为"永远可用"的问题而迷失了方向.我猜这是因为"动态问题"用户控件在响应状态更改事件时调用Controls.Clear.这必须以某种方式杀死ViewState和我的动态控件之间的关联,即使Control.ID是一致的.

这似乎是一个常见的要求,我几乎可以肯定,有一个更好,更清洁,更不容易出错的方法来实现这一目标.如果它不明显,尽管在去年使用它,我还是无法理解ASP.NET页面的生命周期.任何帮助深表感谢!

asp.net viewstate events page-lifecycle dynamic

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

在什么情况下调用Application_EndRequest但是没有调用Application_BeginRequest?

HttpApplication方法的预期顺序是:

  1. 的Application_Start
  2. 在里面
  3. 的Application_BeginRequest
  4. Application_AuthenticateRequest
  5. (页面生命周期)
  6. Application_EndRequest

我正在通过一个情况,它绝对没有异常,在Init之后,它直接进入ApplicationEndRequest.它不会调用Application_BeginRequest也不会启动页面生命周期.

我该怎么办?

.net c# asp.net page-lifecycle

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

Page_PreInit没有调用?

我正在运行ASP.NET 4.0项目.

.aspx页面已AutoEventWireup="true"在标题中设置.

虽然OnPreInit叫,Page_PreInit不是吗?任何人都可以提出什么问题?

protected void Page_PreInit(object sender, EventArgs e)
{
    Response.Write("bar");
}

protected override void OnPreInit(EventArgs e)
{
    Response.Write("foo");
    base.OnPreInit(e);
}
Run Code Online (Sandbox Code Playgroud)

c# page-lifecycle

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

截取Button回发的最佳方法

我已经看到过像这样的其他解决方案非常简单,但如果javascript函数不仅仅是做confirm('sure?');什么呢?我永远不知道什么时候会回归布尔.

所以我决定实现我的所有 ASP.NET按钮:

<button id="btnDelete" name="btnDelete" class="btn">Delete</button>
<asp:Button ID="_btnDelete" runat="server" OnClick="_btnDelete_Click" style="display:none;" />

$('#btnDelete').click(function (e) {
    $.blockUI({ message: $('#divConfirmDeleteModal'), overlayCSS: { cursor: 'default' }, css: { cursor: 'default' }, baseZ: 5555 });
    return false;
});

$('#btnDeleteYes').click(function () {
    $('#<%=_btnDelete.ClientID%>').trigger('click');
});

$('#<%=_btnDelete.ClientID%>').click(function (e) { 
    // the delay happens here. if i put an alert here, it fires,
    // but then the page just loads until eventually the method gets called
    <%= ClientScript.GetPostBackEventReference(_btnDelete, string.Empty) %>; 
});
Run Code Online (Sandbox Code Playgroud)

..它一直运作良好,直到现在.我在IE中遇到问题(甚至是版本10) …

javascript asp.net page-lifecycle event-handling

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