サーバーにajaxリクエストを送信したときにaspxモバイルページで次のエラーが発生しました:
Sys.ArgumentTypeException: Object of type 'AjaxControlToolkit.ModalPopupBehavior' cannot be converted to type 'AjaxControlToolkit.ModalPopupBehavior'. Parameter name: instance
何が起こったのか正確にはわかりませんが、jqmを含めずにこのページをチェックすると正しく動作するため、ページにあるjqueryに関連していると確信しています。ありがとう
ASPページでボタンがクリックされたときに行が実行されます。
string message = "blahbalahblahblah...";
MessageBoxInfo.Show(MessageBox.MessageType.Error, message, 110, 350);
return;
私のコントロール(MessageBox.ascx)には次のものがあります:
<asp:LinkButton ID="LinkButtonTargetControl" runat="server"></asp:LinkButton>
<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtenderMessage" runat="server" TargetControlID="LinkButtonTargetControl"
PopupControlID="MessageBox" OkControlID="ButtonOK" CancelControlID="CloseButton" BackgroundCssClass="messagemodalbackground" />
<asp:Panel ID="MessageBox" runat="server" style="display:none;">
<asp:HyperLink runat="server" id="CloseButton" >
<asp:Image ID="Image1" runat="server" ImageUrl="../images/Message/close.png" AlternateText="Close" />
</asp:HyperLink>
<p><asp:Literal ID="litMessage" runat="server"></asp:Literal></p>
</asp:Panel>
そして、show メソッドは以下のとおりです (MessageBox.ascx.cs):
public void Show(MessageType messageType, string message, int height, int width)
{
CloseButton.Visible = ShowCloseButton;
litMessage.Text = message;
MessageBox.Height = height;
MessageBox.Width = width;
MessageBox.CssClass = messageType.ToString().ToLower();
ModalPopupExtenderMessage.Show();
this.Visible = true;
}
また、show メソッドが毎回呼び出され、幅、高さなど、その中のすべてが呼び出されることに言及する必要があります。