我用js触发.net的FileUpload控件,弹出选择文件,但是后台无法获取fileupload控件的值.
我用js触发.net的FileUpload控件,弹出选择文件,但是后台无法获取fileupload控件的值.如果是直接点击fileupload控件弹出选择文件对话框,则可...
我用js触发.net的FileUpload控件,弹出选择文件,但是后台无法获取fileupload控件的值.如果是直接点击fileupload控件弹出选择文件对话框,则可以后台获取该控件的值...只是我需要隐藏fileupload这个控件.然后直接点击一个input按钮来弹出对话框...代码如下.高手们帮帮忙..
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FileUpPage.aspx.cs" Inherits="FileUpPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Iframe里的页面</title>
<script type="text/javascript">
function add()
{
document.getElementById("FileUpload1").click();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<input id="Button2" type="button" onclick="add()" value="添加" />
<br />
<asp:Button ID="Button1" runat="server" Text="测试" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class FileUpPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//我要获取上传控件的值
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(FileUpload1.PostedFile.FileName);
}
} 展开
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FileUpPage.aspx.cs" Inherits="FileUpPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Iframe里的页面</title>
<script type="text/javascript">
function add()
{
document.getElementById("FileUpload1").click();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<input id="Button2" type="button" onclick="add()" value="添加" />
<br />
<asp:Button ID="Button1" runat="server" Text="测试" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class FileUpPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//我要获取上传控件的值
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(FileUpload1.PostedFile.FileName);
}
} 展开
5个回答
展开全部
后台取得的值包含在VIEWSTATE中,js取得的值没有改变VIEWSTATE,所以为空,建议不用JS触发,如果一定用JS就使用AJAX吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个控件是服务器控件,runat=server,你这个脚本添加没有提交到服务器上去,所以你这个测试不会成功,直接提交的话会成功呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正如楼上所说,FileUpload不能用脚本选择,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-11-24
展开全部
由于安全问题你这样做是不行的
但你可以通过一些技巧修改file控件的样式
详细可以看参考资料的file样式部分
但你可以通过一些技巧修改file控件的样式
详细可以看参考资料的file样式部分
参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?3=u&id=11280
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询