我实际上正在开发一个应用程序,该应用程序使用户可以上传他们想要的文件。这些文件上传后也应该可视化。

为此,我尝试使用Server.MapPath和其他值的串联来获取文件路径。文件路径在window.open javascript函数中作为参数传递。

我的问题是我什么都没有得到。没有打开任何窗口。

这是我的代码:

string completeUrl = Server.MapPath(ConfigurationManager.AppSettings["UsersImagesUploadFolder"] + CurrentUserLogin +
                               @"\\" + ((GridDataItem) e.Item)["Url"].Text);

string radWindowOpen = "<script type='text/javascript'>window.open('" + completeUrl + "')</" + "script>";
 Page.ClientScript.RegisterStartupScript(this.GetType(), "fileDisplay", radWindowOpen);


我可能缺少明显的东西,但看不到它是什么。

谢谢您的回答。

最佳答案

正如Damien指出的那样,Server.MapPath用于服务器端路径映射。客户需要在您的Web应用程序下方看到一条路径。

例如:

Page.ResolveUrl("~/uploads/" + ConfigurationManager.AppSettings["UsersImagesUploadFolder"] ...

将解析为http://mydomain/vroot/uploads/...等。

顺便说一句,还要注意@"\\"会导致双反斜杠,我认为这不是您想要的。

@"\""\\"都将导致单个反斜杠。

关于c# - Server.MapPath和window.open(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13430869/

10-12 22:28