能够在 ASP.NET 中包含文件,但无法检查它是否存在
我想在我的页面中包含某些文件。 我并不总是确定它们是否存在,所以我必须检查它们是否存在。 (否则页面会崩溃,正如您可能知道的那样)
<%@ Page Language="C#" %>
<html>
<body>
<% bool exists;
exists = System.IO.File.Exists("/extra/file/test.txt");
%>
Test include:<br>
<!--#include file="/extra/file/test.txt"-->
</body>
</html>
</html>
虽然包含有效,但检查文件是否存在的代码却不起作用。
如果我删除此代码:
<% bool exists;
exists = System.IO.File.Exists("/extra/file/test.txt");
%>
一切运行正常。 我还尝试将其放入 块中,但仍然失败。
I want to include certain files in my page.
I'm not always sure if they exists, so I have to check if they do. (Otherwise the page crashes, as you probably know)
<%@ Page Language="C#" %>
<html>
<body>
<% bool exists;
exists = System.IO.File.Exists("/extra/file/test.txt");
%>
Test include:<br>
<!--#include file="/extra/file/test.txt"-->
</body>
</html>
</html>
While the include works, the code checking if the file exists does not.
If I remove this code:
<% bool exists;
exists = System.IO.File.Exists("/extra/file/test.txt");
%>
Everything runs fine.
I also tried putting it in a <script runat="server">
block, but it still failed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试
Try
服务器端包含是旧版 ASP 代码,不能是有条件的。但是,由于您使用的是 C# ASP.NET 代码,因此您可以只读取文件并使用 C# 而不是服务器端包含来输出它。
在这里,如果您的代码出现错误,可能是因为其他东西没有正确配置供您使用(安全设置,也许?)。
Server-side includes are legacy ASP code and cannot be conditional. However, since you are using C# ASP.NET code, you can just read the file and output it using C# instead of the server-side include.
Here, if you get an error with your code, it is probably because something else is not configured properly for you to use it (security settings, maybe?).
服务器端包含(SSI)在您的代码之前执行,因此您不能这样做。
如果您包含的文件只是静态信息(即没有服务器端代码),您可以执行以下操作:
Server side includes (SSI) are executed before your code, so you can't do this way.
If your included file is just static information (i.e. without server-side code), you can do something like: