我有一个包含 javascript 和 ASP.NET 用户控件的 ASP.NET 页面。当执行回发时,我使用RaisePostBackEvent
方法来确定应该调用哪个方法。这样,就可以通过 javascript 触发回发。例如,我通过 javascript 触发的回发加载用户控件。但是,不能再通过回发引发此类用户控件的事件,因为RaisePostBackEvent
调用的是该方法,而不是默认的回发行为。那么如何从RaisePostBackEvent
方法中调用用户控件的默认回发行为呢?
public void RaisePostBackEvent (string eventArgument) {
string eventTarget = Request ["__EVENTTARGET"];
if (eventTarget == UniqueID) {
eventArgument = Request ["__EVENTARGUMENT"];
Action action = JsonConvert.DeserializeObject<Action>(eventArgument);
if (action.name == "display") Display(action.argument);
else if (action.name == "edit") Edit(action.edit);
}
else {
// Control control = GetPostBackControl(this.Page);
// !!! Raise the postback event on the control.
}
}