您好我隐藏了FileUpload控件,textBox我想写url adrres或者!某个文件的文件路径,以及调用FileUpload的按钮。我的问题是我需要在用户检查fileupload后立即控制一些文件并关闭弹出窗口,用文件路径填充TextBox。 我知道如何显示文件路径,但我需要自动执行它并为我设置陷阱。 这是我到目前为止所得到的
<div class="ViewContent">
<asp:FileUpload ID="FileUpload2" runat="server" Width="317px" style="display: none"/>
<input id="btnFileUpload" type="button" value="Add" runat="server" style="width: 70px" />
<asp:TextBox ID="TextBox2" runat="server" Width="310px"/>
</div>
protected void Page_Load(object sender, EventArgs e)
{
btnFileUpload.Attributes.Add(
"onclick",
"document.getElementById('" + FileUpload2.ClientID + "').click();");
}
所以回答很简单:我应该把我的支票代码放在哪里填写TextBox?像这样的东西
if (FileUpload2.PostedFile != null)
{
TextBox2.Text = System.IO.Path.GetFullPath(FileUpload2.PostedFile.FileName);
}
答案 0 :(得分:1)
这个脚本可以完成这项工作:
<script type="text/javascript">
$(document).ready(function () {
$(document).on('change', '#<%= FileUpload2.ClientID%>', function (e) {
$('#<%= TextBox2.ClientID%>').val(e.target.files[0].name);
});
$('#<%=btnFileUpload.ClientID%>').click(function () {
$('#<%= FileUpload2.ClientID%>').trigger('click');
});
});
</script>
像下面一样添加对jquery的引用,并删除代码形式Page_Load()。
<head runat="server">
<script src="Scripts/jquery-1.8.2.js"></script>
甚至:
<head runat="server">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
你的Page_Load():
protected void Page_Load(object sender, EventArgs e)
{
//btnFileUpload.Attributes.Add(
//"onclick",
//"document.getElementById('" + FileUpload2.ClientID + "').click();");
}
答案 1 :(得分:0)
由于你想立即获取文件名,你应该使用这样的javascript:
var fu1 = document.getElementById("FileUpload1");
alert("You selected " + fu1.value);
让我知道其他什么。