Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用gridview显示图像可以在本地工作,但不能在服务器上工作_C#_Asp.net_Gridview - Fatal编程技术网

C# 使用gridview显示图像可以在本地工作,但不能在服务器上工作

C# 使用gridview显示图像可以在本地工作,但不能在服务器上工作,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在尝试显示存储在项目文件夹中的一些图像 图片/书夹 项目文件夹布局: images/bookjacket/*images.jpg* Default.aspx Default.aspx.cs 以下是涉及的gridview代码: <asp:GridView ID="gvCatalog" runat="server" AutoGenerateColumns="False"> <Columns> <asp:ImageField DataImag

我正在尝试显示存储在项目文件夹中的一些图像 图片/书夹

项目文件夹布局:

    images/bookjacket/*images.jpg*
    Default.aspx
    Default.aspx.cs
以下是涉及的gridview代码:

<asp:GridView ID="gvCatalog" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:ImageField DataImageUrlField="Path">
</asp:ImageField>
<asp:TemplateField>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("Path") %>'>    
</asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Path") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Path" HeaderText="Path" />
</Columns>
</asp:GridView>
在我的服务器上,我得到了蓝色的“图像”图标。

在我当地的主人看来一切都很好。(imageField和templateField都显示图片。


根据研究(已经浏览了整个网页),这应该是可行的。

在firebug或chrome(开发工具)中检查html,然后尝试将./而不是~/放入图像路径位置,这还取决于图像文件夹的位置

./表示父目录,其中../表示父目录的父目录


下面是一个详细的答案:.

在firebug或chrome(开发工具)中检查html,然后尝试将./而不是~/放入图像路径位置,这还取决于图像文件夹的位置

./表示父目录,其中../表示父目录的父目录


下面是一个详细的答案:。

您可以尝试更改路径

./images/bookjackets/9780316407014.jpg

../images/bookjackets/9780316407014.jpg
~/images/bookjackets/9780316407014.jpg

../images/bookjackets/9780316407014.jpg
~/images/bookjackets/9780316407014.jpg
直接的

/images/bookjackets/9780316407014.jpg

../images/bookjackets/9780316407014.jpg
~/images/bookjackets/9780316407014.jpg

你可以尝试改变你的道路

./images/bookjackets/9780316407014.jpg

../images/bookjackets/9780316407014.jpg
~/images/bookjackets/9780316407014.jpg

../images/bookjackets/9780316407014.jpg
~/images/bookjackets/9780316407014.jpg
直接的

/images/bookjackets/9780316407014.jpg

../images/bookjackets/9780316407014.jpg
~/images/bookjackets/9780316407014.jpg
答案

我希望这对其他人有所帮助。您必须将images文件夹放在生产服务器(根级别)上包含App_数据和App_代码的同一文件夹中。此外,您需要在images文件夹中添加一个Web.config文件

<?xml version="1.0"?>
<configuration>
    <location path="images">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>  
</configuration>

如果您将单个图像放在图像的唯一子文件夹中(如我在\BookJackes中所做的),则可以将其用于多个网站。

答案

我希望这对其他人有所帮助。您必须将images文件夹放在生产服务器(根级别)上包含App_数据和App_代码的同一文件夹中。此外,您需要在images文件夹中添加一个Web.config文件

<?xml version="1.0"?>
<configuration>
    <location path="images">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>  
</configuration>


如果您将单个图像放在图像的唯一子文件夹中(如我在\BookJackes中所做的那样),您可以将其用于多个网站。

我的图像文件夹与我的应用程序处于同一级别,并且它在本地工作,这告诉我路径是“正确的”。我仍然对它在我的本地主机上运行而不是在服务器上感到困惑。我想知道我是否可以将images文件夹放在App_数据中,但我在某个地方读到App_数据不允许提供图像。如果你有足够的权限写入文件,你可以将images文件夹放在App_数据中,但不建议这样做。你有吗ried使用chrome中的inspect element工具,如果不尝试前缀为./,../,…/,则尝试不同的路径。让我也检查一下您共享的链接。我尝试了images/然后我尝试了/images,然后我尝试了./images。不幸的是,没有任何效果(事实上,我认为这是一个使用web.config允许用户访问图像的案例。我正在搜索黑板上的答案。我终于能够检查元素并看到“url”有.././在图像前面,这表明文件夹图像需要在我的根文件夹中。很好的呼叫。我的图像文件夹与我的应用程序处于同一级别,并且它在本地工作,这告诉我路径是“正确的”。我仍然对它在我的本地主机上运行而不是在服务器上感到困惑。我想知道我是否可以将images文件夹放在App_数据中,但我在某个地方读到App_数据不允许提供图像。如果你有足够的权限写入文件,你可以将images文件夹放在App_数据中,但不建议这样做。你有吗ried使用chrome中的inspect element工具,如果不尝试前缀为./,../,…/,则尝试不同的路径。让我也检查一下您共享的链接。我尝试了images/然后我尝试了/images,然后我尝试了./images。不幸的是,没有任何效果(事实上,我认为这是一个使用web.config允许用户访问图像的案例。我正在搜索黑板上的答案。我终于能够检查元素并看到“url”在表明文件夹图像需要在我的根文件夹中的图像前面有../..尼斯呼叫…/和/不工作,因为图像文件夹应与Default.aspx处于同一级别。直接方法和~method在本地工作,但在服务器上不工作…/和/不工作,因为图像文件夹应处于同一级别直接方法和~method在本地工作,但不在服务器上工作。