<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div id="ycdiv" runat="server" style="color: Red; font-size: 20px;">
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
正在上视频请不要关闭或跳转网页,添加完会自动跳转</ProgressTemplate>
</asp:UpdateProgress>
</div>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="click" />
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
//直接取得文件名
string fullname = FileUpload1.FileName.ToString();
//获取文件名字 . 后面的字符作为文件类型
string typ2 = fullname.Substring(fullname.LastIndexOf(".") + 1);
//获得文件的名称
string typ3 = fullname.Substring(0, fullname.LastIndexOf("."));
//上传文件的大小
string size = FileUpload1.PostedFile.ContentLength.ToString();
//下面是保存了,我们来个判断,只能上穿传哪些格式的文件吧
if (typ2 == "flv")
{
//得到下拉列表框的值
//添加成功
FileUpload1.SaveAs(Server.MapPath("~\\flv") + "\\" + fullname);//将文件保存在跟目录的uploads文件夹下
}
}问题:直接取得文件名fullname ="";取不到文件的名字,当去掉前台的无刷新控件UpdatePanel;fullname 就能正确的取到值而不是""空;只是为什么???
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div id="ycdiv" runat="server" style="color: Red; font-size: 20px;">
<asp:UpdateProgress ID="UpdateProgress1" runat="server">
<ProgressTemplate>
正在上视频请不要关闭或跳转网页,添加完会自动跳转</ProgressTemplate>
</asp:UpdateProgress>
</div>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<br />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="click" />
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
//直接取得文件名
string fullname = FileUpload1.FileName.ToString();
//获取文件名字 . 后面的字符作为文件类型
string typ2 = fullname.Substring(fullname.LastIndexOf(".") + 1);
//获得文件的名称
string typ3 = fullname.Substring(0, fullname.LastIndexOf("."));
//上传文件的大小
string size = FileUpload1.PostedFile.ContentLength.ToString();
//下面是保存了,我们来个判断,只能上穿传哪些格式的文件吧
if (typ2 == "flv")
{
//得到下拉列表框的值
//添加成功
FileUpload1.SaveAs(Server.MapPath("~\\flv") + "\\" + fullname);//将文件保存在跟目录的uploads文件夹下
}
}问题:直接取得文件名fullname ="";取不到文件的名字,当去掉前台的无刷新控件UpdatePanel;fullname 就能正确的取到值而不是""空;只是为什么???
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="click" />
===
<asp:AsyncPostBackTrigger ControlID="Button1" />
你是用ifream 或者flash实现无刷新上传效果。
网上有很多无刷新上传
用js的话 浏览器不兼容的
我也努力了很久 解决不了用jquery.MultiFile可以获得
<asp:UpdatePanel>
<ContentTemplate>
....
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnUpFile" />
</Triggers>
</asp:UpdatePanel>
我这样用貌似没出问题,不过我的fullname是自动生成的
jquery:http://kb.cnblogs.com/page/53693/ 看看楼主
放入后在后台就去不了值。
有只用方法可以实现不刷新,且还能显示上传后的图片。这个得去借鉴jQuery。他最终的思想使用IFrame上传图片。这点lz上网去收收学学。