如何检查 ASP.Net 文件上传控件是否在 JQuery 中有文件?

How to check if an ASP.Net File Upload Control has a file in JQuery?

所以我正在编写一个自定义验证程序,我需要使用 asp.net 文件上传控件检查文件是否已上传。

到目前为止我有:

function validate(sender, args)
{
    if ($('#<%= hdnID.ClientID%>').val() != "False")
    {
        args.IsValid = true;
    }
    else
    {
        if ($('#<%= fup.ClientID %>').val() != '' )
        {
            alert("Run some code here");
        }
        else
        { }
    }
 }

不对的地方是

if ($('#<%= fup.ClientID %>').val() != '' )

我不知道如何确定控件是否有文件。 任何建议都会很棒。谢谢。

我的猜测是您的 ID 不正确。我能想到的立即处理它的最好方法是向文件输入元素添加一个 cssclass 并通过该选择器调用它

<input type="file" class="myClientFileIDWhatever" />

...

if ($('.myClientFileIDWhatever').val() != '') {

这可能不是 JQuery 最好的方法,但我已经成功地完成了类似的事情:

var uploader = $get("<%= fup.ClientID%>");
if (uploader.value != "") {
   //has files
}

我通常在检查值之前检查 uploader != null。希望对您有所帮助!