<form id="form1" runat="server">
<input type="file" name="f1" id="f1" runat="server" style="display:none;"  />
<input type="button" value="浏览文件" name="cbtn" onclick="f1.click();" />
<asp:Button ID="submit" runat="server"  OnClick="Button1_Click1" Text="保存" />
后台
  protected void Button1_Click1(object sender, EventArgs e)
    {
        Response.Write("执行" );//用于测试
       //.....文件上传部分
    }
我在弹出的对话框中选择了打开,再点保存,那保存按钮的事件没执行。
我把style="display:none;"  去了在点击预览打开对话框选择文件点打开,点保存有输出。
直接点保存也会有输出。
我很奇怪为什么通过点浏览文件按钮选择后怎么按钮事件会不执行。
怎样才能让它执行按钮事件?
我比较笨麻烦各位高手帮忙说清楚点!

解决方案 »

  1.   

    用<input type=submit提交,
    另外,非IE浏览器不支持
    <input type="button" value="浏览文件" name="cbtn" onclick="f1.click();" />
    这种方式选择文件,只能点type=file自己
      

  2.   

    <asp:Button ID="submit" runat="server" OnClick="Button1_Click1" Text="保存" />
     还是没弄清怎么这个在服务器端的按钮事件没执行?
    用<input type=submit提交是不是上传文件的实现代码要写在脚本中?
    还有<input type="button" value="浏览文件"...中选择的文件名已经保持了file中吧?
    其实我是想把那按钮改变外观上传附件就可以做的和发送邮件中添加附件中的一样。
      

  3.   

    已经保持了file中了并不一定就能上传<asp:Button ID="submit" runat="server" OnClick="Button1_Click1" Text="保存" />
    改成
    <input type=submit>