[英]Invalid postback or callback argument. AutoPostBack is set and also !Page.IsPostBack in 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.