asp.net 中服务器控件的服务器事件和客户端事件顺序?

yanli0823 2008-11-24 05:47:16
我有一个上传的butto为服务器端控件,但它有onclientclick和onclick事件,
在onclientclick事件中我是判断一个“名称”的文本框是否为空的方法,为空就提示,不为空就把fileupload控件所选择的文件名称显示在页面的特定位置。
在onclick事件中执行操作的前提是fileupload控件有值,有值就保存该文件到指定目录,否则提示没有选择文件。
我想问的是执行onclientclick事件后会刷新页面么?因为我在执行这个操作的时候在我先选择了文件点击上传按钮时提示“名称”为空,我填写名称后点击上传按钮可以保存,但有的时候执行相同的操作就会出现“没有选择文件”的提示,可是在我写名称前是选择了文件的。
代码:

//名称文本框
asp:TextBox ID="tbTaskName" runat="server" Text="" Visible="true" Width="533px"></asp:TextBox>
<font style="color: #FED000">(必填)<br /></font>

//fileupload和上传按钮
<asp:FileUpload ID="fuMainFile" runat="server" Width="526px" />
<asp:Button ID="btnUploadMainFile" runat="server" Text="上传主文件" OnClientClick ="showFile()" OnClick="btnUploadMainFile_Click" /><br />

//上传按钮的js代码
<script language="javascript" type="text/javascript">
//用户点击上载主文件按钮时显示文件名称和进度条
function showFile()
{
if(document.getElementById("tbTaskName").value != "")
{
var fname =document.getElementById("fuMainFile").value;
fname = fname.substring(fname.lastIndexOf('\\') + 1);
document.getElementById("lbmainfileMsg").innerHTML += '<div>'
+ fname + '            '
+'<img src="../images/loading.gif" align="absmiddle" />'
+ '</div>';
}
else
{
alert("素材名称为空,请填写素材名称!");
return false;
}
}
</script>

//服务器端事件
if (this.fuMainFile.HasFile == true)
{
string saveMF = this.SaveMainFileToTemp();
}
else
{
this.lbmainfileMsg.Text = "请先选择文件,再上传文件!";
}
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsorgy 2008-11-25
  • 打赏
  • 举报
回复
对,客户端表单提交后才可能执行服务端OnClick事件……
OnClientClick中return false;以后会终止表单提交,所以不会触发服务端事件……
yanli0823 2008-11-25
  • 打赏
  • 举报
回复
以后帖子的分要我写点。呵呵。
yanli0823 2008-11-25
  • 打赏
  • 举报
回复
谢谢各位,在各位帮助下问题解决!!
yanli0823 2008-11-25
  • 打赏
  • 举报
回复
如果OnClientClick里return false是不是也不会执行服务器端事件即不会执行onclick()事件?
曾默 2008-11-24
  • 打赏
  • 举报
回复
3楼正解
tsorgy 2008-11-24
  • 打赏
  • 举报
回复
把“OnClientClick="showFile()"”改成“OnClientClick="return showFile()"”

只有在OnClientClick里return false;才会不刷新页面
Jack_xiao 2008-11-24
  • 打赏
  • 举报
回复
我想问的是执行onclientclick事件后会刷新页面么?
===========================================
返回false的话,不会刷新
chtsir 2008-11-24
  • 打赏
  • 举报
回复
客户端在前

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧