我希望能够上传文件并获取新保存的路径,而不需要任何回发。我已经尝试使用updatepanel
但是发现fileupload为null。
实际上我想获得File_Path_Text
以便在javascript方法中使用它。
以下是我正在使用的代码;
protected void get_path(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
FileUpload1.SaveAs(@"C:\temp\" + FileUpload1.FileName);
File_Path_Text = @"C:\temp\" + FileUpload1.FileName;
}
}
以下是asp部分;
<asp:FileUpload ID="FileUpload1" runat="server" accept="kml"/>
<asp:Button id="Button1" text="Add layer to map" OnClick="get_path" runat="server" />
答案 0 :(得分:1)
您可以将文本分配给隐藏字段,并使该隐藏字段服务器可访问。您还可以使用public propert y为其分配值并在客户端上访问它。
HTML 的
<input type="hidden" runat="serer" id="hdnText" />
背后的代码
hdnText.Value = @"C:\temp\" + FileUpload1.FileName;
的Javascript
alert(document.getElementById("<%= hdnText.ClientID %>").value);
要异步上传文件,您可以使用一些jQuery插件,例如Ajax File Upload
答案 1 :(得分:1)
一个非常简单的选项是uploadify。您可以将其连接到HttpHandler,并在应用程序保持交互的同时在后台进行上传。
UpdatePanels会让您无法上传文件。
答案 2 :(得分:0)
创建一个ashx文件(http处理程序)并将下面的代码(放置你的路径)放在那里。
window.open('<%=Server.MapPath("~/path")%>')