我在button
页面上有一个.aspx
,可以打开所选项目的popup
到upload images
。
ListEdit.aspx
<asp:Button ID="btnListingImageUpload" runat="server" Text="Upload Images"
OnClientClick="basicPopup()"/>
使用Javascript:
function basicPopup() {
var QuoteId = document.getElementById('<%= hdnQuoteIDForListing.ClientID%>').value;
var IsPrep = document.getElementById('<%= hdnIsPrep.ClientID%>').value;
alert(IsPrep);
popupWindow = window.showModalDialog('ListingImageUpload.aspx?QuoteID=' + QuoteId + '&IsPrep=' + IsPrep, 'popUpWindow', 'height=400,width=600,left=200,top=250,resizable=0');
return false;
}
弹出页面上的AjaxFileUpload控件:
<cc1:AjaxFileUpload ID="AjaxFileUpload2" ThrobberID="myThrobber" ContextKeys="fred" AllowedFileTypes="jpg,jpeg" MaximumNumberOfFiles="10" runat="server" OnUploadComplete="AjaxFileUpload1_UploadComplete1"
OnClientUploadComplete =“onClientUploadCompleteFront”/&gt;
当我click
button
时,它会在弹出页面中打开包含page
控件和AJAXFileUpload
的{{1}}弹出窗口。当我点击包含querystring
控件的弹出页面的“上传”按钮时,会出现以下错误:
AjaxFileUpload
但是,当使用session而不是querystring时,它可以正常工作!
我用谷歌搜索了 this link ,但我无法解决它。我在JavaScript runtime error: Sys.ArgumentException: Cannot deserialize. The data does not correspond to valid JSON.
Parameter name: data
中只有AJAXControlToolKit.dll
(仅),而不是源文件和其他二进制文件。
注意: 请仅使用bin folder
建议解决方案。原因是,此弹出窗口的多个实例将在时间打开。因此,无法使用querystring
变量。
帮助感谢!
答案 0 :(得分:0)
您可以使用Telerik之类的应用程序对de .dll进行反编译,然后对代码应用更改并重新编译。
答案 1 :(得分:0)
这是一个众所周知的问题,当AjaxFileUpload回发它会获取你的页面URL并将其附加到它自己的.query字符串(contextkey和guid)的末尾。如果您的网页网址尚未包含任何查询字符串,则此方法可以正常工作 如果确实如此,那么您最终会得到一个包含两个问号的网址,这会损坏您的最终查询字符串值,从而阻止上传工作。
选中此Known Issue