簡體   English   中英

AutoPostBack不觸發Page_Load

[英]AutoPostBack not triggering Page_Load

我有一個像這樣的asp ddl設置:

<asp:DropDownList ID="attendeeList2" runat="server" AutoPostBack="true" CssClass="tripRegistrationItem" />

C#:

private void attendeeList2_SelectedIndexChanged(object sender, EventArgs e)
{
    _mission = new Mission(Int32.Parse(tripList.SelectedValue));
    person = new Person(int.Parse(attendeeList2.SelectedValue));
    attendeeLabel.Text = person.FullName.ToString();
    ClearInputs(tripRegistrationWizard.WizardSteps[1].Controls);
    LoadAttributes();
    SetInfo();            
    }

和:

private void InitializeComponent()
{            
    attendeeList.SelectedIndexChanged += new EventHandler(attendeeList_SelectedIndexChanged);
    attendeeList2.SelectedIndexChanged += new EventHandler(attendeeList2_SelectedIndexChanged);
}

我所經歷的是, attendeeList2_SelectedIndexChanged當DDL的選擇項改變確實火了,執行方法中的代碼,但是一個的Page_Load,Page_Init,Page_PreRender ...不上升。 幾乎就像沒有在執行真正的PostBack一樣,但是它正在運行代碼。 我需要在該OnChange事件中的Page_PreRender中做一些事情,但無法弄清楚如何實現它。

有人可以向我解釋我做錯了什么嗎?

謝謝!

編輯:

這是調用InitializeComponent()的代碼:

override protected void OnInit(EventArgs e)
{
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    InitializeComponent();
    base.OnInit(e);
}

編輯2:我只是意識到我正在使用的客戶端控件在更新面板中。 看起來,當控件位於“更新面板”中時,它僅執行AJAX刷新,而不會提高Page_Load,Page_Init ...一旦將控件從更新面板中拉出,它現在就會觸發完整的回發。 不知道為什么在搜索時找不到提示信息,但現在知道了。

請嘗試在page指令中添加:

autoeventwireup="true"

一些像:

<%@ page language="C#" autoeventwireup="true" codefile="yourpage.aspx.cs" inherits="yourclass"%>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM