我有一个文件上传代码...在onchange事件中检查文件大小,格式,然后上传到物理文件夹。如果所有验证都为 true,则上传按钮将从 onchange 事件触发。
一切正常,但我上传了错误的格式文件,并且会弹出验证错误,并且在下一个文件上传中 Page.Isvalid 为 false,因此即使上传了正确的格式/大小,文件也不会上传。如何解决这个问题。
下面是代码:
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" />
Upload event
public void Upload(object sender, EventArgs e)
{
if (Page.IsValid)
{
SavePortfolio();
}
}
最佳答案
试试这个
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();
}
}
}
}
}
}
关于javascript - asp.net 验证错误后 Page.IsValid 始终为 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43649309/