我正在尝试获取default.aspx页面,只有一个登录屏幕,在登录屏幕上方显示徽标。徽标将保存到项目主目录中的images文件夹中。图像总共有两个位置,一个位于登录之前,另一个位于之后。
在用户登录之前,您无法看到图像,基本上是找不到图像的图像。然而,用户在登录后从完全相同的文件中获取完全相同的图像。如果他们然后退出,图像将出现一次,但如果您重新加载页面,则返回到未找到的图像。进一步复杂化的问题是它在运行它以进行调试时会起作用,而不是在我尝试通过浏览器访问它时。
我已经尝试将图像放在各种目录中,以及默认页面的不同部分,但仍然没有运气。声明我的图像的行是
<asp:Image ImageUrl="~/Images/CCA.jpg" runat="server" AlternateText="CCA Logo"/>
有什么建议吗?
编辑: 在尝试了一些事情后,我查看了页面的inspect元素,发现图像设置为正确的目录路径(http://server/Portal/PortalSite/Images/CCA.jpg)。当图像工作时(登录后)我可以按照链接获取图像。然而,当它不起作用时,它会将我带回页面
http://server/Portal/PortalSite/Default.aspx?ReturnUrl=%2fPortal%2fPortalSite%2fImages%2fCCA.jpg
这可能是网址路径的问题吗?
编辑: 此外,这可能是一个愚蠢的问题,但由于我是新的,我在生成的default.aspx.vb文件中是否需要任何类型的设置?它目前只有登录重定向信息。
答案 0 :(得分:3)
如果您使用的是表单身份验证,则可能需要在web.config文件中添加一个允许访问images文件夹的位置标记。
<configuration>
<location path="Images">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<appSettings/>
<system.web>
<!-- other stuff -->
</system.web>
</configuration>
或者您可以尝试将web.config文件放在相关文件夹中。
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</configuration>