C# 获取保存的文件路径而不进行任何回发
我想能够上传文件,并获得新的保存路径回来,没有任何回发。我已尝试使用C# 获取保存的文件路径而不进行任何回发,c#,javascript,asp.net,file-upload,postback,C#,Javascript,Asp.net,File Upload,Postback,我想能够上传文件,并获得新的保存路径回来,没有任何回发。我已尝试使用updatepanel,但后来发现文件上载为null 实际上,为了在javascript方法中使用它,我想获取文件\u路径\u文本 下面是我正在使用的代码 protected void get_path(object sender, EventArgs e) { if (FileUpload1.HasFile) { FileUplo
updatepanel
,但后来发现文件上载为null
实际上,为了在javascript方法中使用它,我想获取文件\u路径\u文本
下面是我正在使用的代码
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" />
您可以将文本分配给隐藏字段,并使该隐藏字段服务器可访问。您还可以使用y为其赋值并在客户端上访问它
Html
Javascript
警报(document.getElementById(“”.value);
要异步上传文件,您可以使用一些jQuery插件,如一个非常简单的选项是。您可以将其连接到HttpHandler,并在后台进行上载,同时应用程序保持交互式
UpdatePanels会给上传文件带来麻烦。创建一个ashx文件(http处理程序),并将下面的代码(放置路径)放在那里
窗口。打开(“”)
但是如果我这样说仍然会有回发,我是对的吗?我想删除回发,但是你的回发不受欢迎,你可以使用一些jquery插件,比如,谢谢你的建议。似乎真的很适合我使用,但我不明白的是如何从插件我可以得到上传的文件名@AdilI不确定这个插件,但你需要了解jQueryAsync是如何工作的,这是一个将jQueryAjax与asp.net结合使用的示例,你能通过将它连接到httphandler来解释吗?Thnks@nunespascalUploadify将服务器端脚本作为参数。这最好作为一个HttpHandler来实现,您应该通过一个简单的搜索就可以得到它的代码。通过hook,我的意思是为您的HttpHandler指定url以接受服务器上的文件
<input type="hidden" runat="serer" id="hdnText" />
hdnText.Value = @"C:\temp\" + FileUpload1.FileName;
alert(document.getElementById("<%= hdnText.ClientID %>").value);
window.open('<%=Server.MapPath("~/path")%>')