我从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");
}
}
}
答案 0 :(得分:1)
在将表单提交到服务器之前,先使用一些客户端技术(javascript,silverlight等)来检查复选框。
如果您想确定,可以重新检查服务器端的复选框。
答案 1 :(得分:1)
在继续之前,您可以更轻松地在客户端验证checkbox
。
看看这篇关于Related checkbox validation with 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的文章,其中介绍了如何包含必要的脚本库。
答案 2 :(得分:1)
尝试使用工具箱验证程序“RequiredFieldValidator”验证此复选框。