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.
}
}