asp.net的FileUpload可以加onchange事件么?应该怎么加上?

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

你好,
或许可以做,不过你这么做的意义在哪里?

<div>
    <asp:FileUpload ID="FileUpload1" accept=".pdf,.PDF" runat="server" onchange="Filevalidation()" />
    <asp:Label ID="lblError" runat="server" ForeColor="Red" />
    <hr />
    <asp:Label ID="lblSelected" runat="server" ForeColor="Green" />
    <br />
    <asp:Label ID="lblSize" runat="server" ForeColor="Green" />
</div>
<script type="text/javascript">
    function Filevalidation() {
        var lblFile = document.getElementById("<%=lblSelected.ClientID %>");
        lblFile.innerHTML = "";
        var lblError = document.getElementById("<%=lblError.ClientID %>");
        lblError.innerHTML = "";
        var fileUpload = document.getElementById("<%=FileUpload1.ClientID %>");
        var allowedFiles = [".doc", ".docx", ".pdf"];
        var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(" + allowedFiles.join('|') + ")$");
        if (!regex.test(fileUpload.value.toLowerCase())) {
            lblError.innerHTML = "Please upload files having extensions: <b>" + allowedFiles.join(', ') + "</b> only.";
            return false;
        } else {
            if (fileUpload.files.length > 0) {
                for (var i = 0; i <= fileUpload.files.length - 1; i++) {
                    var fsize = fileUpload.files.item(i).size;
                    var file = Math.round((fsize / 1024));
                    // The size of the file.
                    if (file >= 4096) {
                        alert("File too Big, please select a file less than 4mb");
                    } else {
                        document.getElementById('<%=lblSize.ClientID %>').innerHTML = '<b>' + file + '</b> KB Size File Selected ';
                    }
                }
            }
            lblFile.innerHTML = fileUpload.files.item(0).name;
        }
    }
</script>

不行