1

我正在从 asp.net 中的文件上传控件上传文件。在该页面上有一个复选框。用户必须接受条件才能上传文件。我正在检查文件后面的代码,如果未选中显示警报消息的复选框,但问题是在调用该函数之前,该文件将在服务器上缓冲整个文件,然后调用该函数。但我想在临时上传该文件之前检查该情况。

以下是我正在使用的代码 -

protected void btn_Upload_Click1(object sender, EventArgs e)
    {
        if (!chkBx_1.Checked )
        {
            dataclass.Message("Please accept all terms before uploading", this);
            return;

        }
        else
        {
            if (FileUpload1.HasFile)
            {
                FileUpload1.SaveAs("path");
            }

        }        
      }
4

3 回答 3

1

在将表单提交到服务器之前,请先使用一些客户端技术(javascript、silverlight 等)检查复选框。

如果你想确定,你可以重新选中服务器端的复选框。

于 2012-04-10T09:38:15.017 回答
1

checkbox在继续之前验证客户端会更容易。看看这篇关于使用 JQuery 进行相关复选框验证的文章。同样在click函数中,您可以使用event.preventDefault()

例如。

<input id="chbTest" cssClass="clChb" value="1" type="checkbox">
<script language="javascript">
(document).ready(function(){
$("#btnUpload").click(function(event){

    if ($(".clChb").attr("checked") == false){
            event.preventDefault();
            alert('Please accept all terms before uploading ');
    }

});

});
</script>

另外,如果您不太熟悉,可以查看这篇关于Using jQuery with ASP.NET的文章, 它向您展示了如何包含必要的脚本库。

于 2012-04-10T09:43:32.790 回答
1

尝试使用工具箱验证器“RequiredFieldValidator”验证此复选框。

于 2012-04-10T10:16:21.203 回答