Недопустимая ошибка аргумента с AsyncFileUpload внутри modalpopupextender

Я получаю эту ошибку при загрузке страницы: Неверный аргумент. В этой строке:

a._innerTB.style.width=a._inputFile.offsetWidth-107+"px"

Если я уберу этот атрибут UploaderStyle="Modern", у меня не будет ошибки. Кроме того, если я использую элемент управления без ModalPopupExtender, у меня также не будет ошибки.

У вас есть идея, как я могу решить эту проблему с классным современным стилем?

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </ajax:ToolkitScriptManager>
    <div>
        <asp:Button ID="btnOpen" runat="server" Text="Open" />
        <ajax:ModalPopupExtender ID="pnlUpload_mpe" runat="server" DynamicServicePath=""
            Enabled="True" TargetControlID="btnOpen" PopupControlID="pnlUpload" BackgroundCssClass="modalBackground">
        </ajax:ModalPopupExtender>
        <%--ModalPopup file upload--%>
        <asp:Panel ID="pnlUpload" runat="server">
            <script type="text/javascript" language="javascript">

                function uploadComplete(sender, args) {
                    var filename = args.get_fileName();
                    var contentType = args.get_contentType();
                    var text = "Size of " + filename + " is " + args.get_length() + " bytes";
                    if (contentType.length > 0) {
                        text += " and content type is '" + contentType + "'.";
                    }
                    $get("<%=lblStatus.ClientID %>").innerText = text;
                }

                function uploadError(sender, args) {
                    $get("<%=lblStatus.ClientID %>").innerText = args.get_fileName(), "<span style='color:red;'>" + args.get_errorMessage() + "</span>";
                }

                function startUpload(sender, args) {
                    $get("<%=lblStatus.ClientID %>").innerText = 'Uploading Started.';
                }

            </script>
            <br />
            <br />
            <ajax:AsyncFileUpload ID="AsyncFu" runat="server" Width="300" UploaderStyle="Modern"
                OnClientUploadError="uploadError" OnClientUploadStarted="startUpload" OnClientUploadComplete="uploadComplete"
                ThrobberID="ibWait" OnUploadedComplete="AsyncFu_UploadedComplete" />
            <asp:ImageButton ID="ibWait" runat="server" ImageUrl="~/images/Wait.gif" AlternateText="loading" />
            <br />
            <br />
            <asp:Label ID="lblStatus" runat="server" Text="Label"></asp:Label>
            <br />
            <br />
            <asp:Button ID="btnOk" runat="server" Text="Ok" Width="64" />
            <br />
            <br />
        </asp:Panel>
    </div>
    </form>
</body>
</html>

Код позади:

protected void AsyncFu_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{

}

Спасибо.


person Dan    schedule 09.07.2010    source источник


Ответы (2)


Я бы обернул вокруг него div с изображением, чтобы заставить его взять это фоновое изображение:

<div style="background:url(/WebResource.axd?d=4aicOdyPTcU1uCDL6TJaMogi8jp7nEFhFdMy-zDDeZJHfZibfnO3WL4-FoFVjZ0IkhjgO6JOuY3LFuoQynhgqy49bl_CUdY4W5bofG0AYNxySS0gZV5Juyg6wn8MYlfPPLaCzhYwPDsFiLP25YErWX8X0GHvUyt9wnznVOgENUo1&amp;t=634092594280000000) no-repeat 100% 1px; height:24px; margin:0px;width:300px;">
            <ajax:AsyncFileUpload ID="AsyncFu" runat="server" Width="300" UploaderStyle="Modern"
                OnClientUploadError="uploadError" OnClientUploadStarted="startUpload" OnClientUploadComplete="uploadComplete"
                ThrobberID="ibWait" OnUploadedComplete="AsyncFu_UploadedComplete"/>
</div>
person Entrabiter    schedule 23.06.2012

Я решил это, установив UploaderStyle="Traditional". Не знаю как, но это работает.

person Bat_Programmer    schedule 24.09.2012