【问题标题】:Page.IsValid is always false after validation error in asp.net在 asp.net 中验证错误后,Page.IsValid 始终为 false
【发布时间】:2017-04-27 05:29:23
【问题描述】:

我有一个文件上传代码......在 onchange 事件中检查文件大小,上传到物理文件夹之前的格式。如果所有验证都为真,则上传按钮将从 onchange 事件中触发。

一切正常,但我上传错误的格式文件和验证错误将弹出,并在下一个文件上传 Page.Isvalid 为假,因此即使上传了正确的格式/大小,文件也不会上传。如何解决这个问题。

下面是代码:

javascript

 function UploadFile(fileUpload) {


    if (fileUpload.value != '') {
        var title = document.getElementById("<%=txtTitle.ClientID%>").value;
        var sFileName = fileUpload.value.toLowerCase();
        var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1];
        var file = (fileUpload.files[0].size / 1024);
        var limit = <%= ConfigurationManager.AppSettings["MaxLimit"]%>;

        var maxlimit = limit * 1024;
        var type = document.getElementById("<%=hdnType.ClientID%>").value;
        if (title != "") {
            if (file > maxlimit) {


                fileUpload.value = null;
                ShowAlert("Sorry the file you are trying to upload exceeds the allowed file limit. Allowed size is 10MB.");

            }
            else {
                if (type == 1) {
                    if (sFileExtension != "png" && sFileExtension != "jpg" && sFileExtension != "jpeg") {

                        fileUpload.value = null;
                        ShowAlert("File Format not supported. Please upload .jpeg/.png files");


                    }
                    else {
                        document.getElementById("<%=btnSave.ClientID%>").click();

                    }
                }
}
}


 <asp:FileUpload ID="upldfile" runat="server" onchange="UploadFile(this)"  ClientIDMode="Static" />
 <asp:Button ID="btnSave" runat="server" UseSubmitBehavior="false" ValidationGroup="save" Text="Save" style="display:none;" OnClick="Upload"  data-dismiss="modal"   class="btn btn-danger" />

上传事件

 public void Upload(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            SavePortfolio();
        }


    }

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    试试这个

    function UploadFile(fileUpload) 
    {
        if (fileUpload.value != '') {
            var title = document.getElementById("<%=txtTitle.ClientID%>").value;
            var sFileName = fileUpload.value.toLowerCase();
            var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1];
            var file = (fileUpload.files[0].size / 1024);
            var limit = <%= ConfigurationManager.AppSettings["MaxLimit"]%>;
            var maxlimit = limit * 1024;
            var type = document.getElementById("<%=hdnType.ClientID%>").value;
    
            if (title != "") {
                if (file > maxlimit) {
                    fileUpload.value = null;
                    ShowAlert("Sorry the file you are trying to upload exceeds the allowed file limit. Allowed size is 10MB.");
                    return;
                }
                else {
                    if (type == 1) {
                        if (sFileExtension != "png" && sFileExtension != "jpg" && sFileExtension != "jpeg") {
                            fileUpload.value = null;
                            ShowAlert("File Format not supported. Please upload .jpeg/.png files");
                            return;
                        }
                        else {
                            document.getElementById("<%=btnSave.ClientID%>").click();
                        }
                    }
                }
            }
        }
    }
    

    【讨论】:

    • 不工作。在 fileupload.hasfile 后面的代码中为 false
    猜你喜欢
    • 2011-05-01
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    • 2010-12-23
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多