• Upgrade your Internet Experience
  • Sign in
  • Microsoft.com
  • United States (English)
    Brasil (Português)Česká republika (Čeština)Deutschland (Deutsch)España (Español)France (Français)Italia (Italiano)Россия (Русский)대한민국 (한국어)中华人民共和国 (中文)台灣 (中文)日本 (日本語)香港特别行政區 (中文)
 
 
Microsoft Developer Network
 
 
Home
 
 
Library
 
 
Learn
 
 
Downloads
 
 
Support
 
 
Community
 
 
Forums
 
 
 
Microsoft Developer Network > Forums Home > Commerce Server Forums > Commerce Server 2007 > Problem in dispalying images in Product List page
Ask a questionAsk a question
Search Forums:
  • Search Commerce Server 2007 Forum Search Commerce Server 2007 Forum
  • Search All Commerce Server Forums Search All Commerce Server Forums
  • Search All MSDN Forums Search All MSDN Forums
 

AnswerProblem in dispalying images in Product List page

  • Tuesday, August 07, 2007 3:27 PMHariP Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0
    Hi,

    I want to display the images in the Product List page. I modified the code in ProductList.aspx.

    Here is my code snippet

                        <asp:HyperLink ID="ImageURL" runat="server" EnableViewState="false"
                                            NavigateUrl='<%# this.GetItemUrlString(Container.DataItem) %>'>
                         <asp:Image runat="server" ImageUrl='<%# ((Microsoft.CommerceServer.Catalog.CatalogItemsDataSet.CatalogItem)Container.DataItem)["Image_filename"].ToString()%>'
                                AlternateText="<%# Eval(DisplayNameColumnName) %>" width="130" height="113" />
                         </asp:HyperLink>

    This Code complies correctly.

    But the Problem is,

    I have given the imagefilepath value as "./Images/<filename>". This is how they have given for other images in the starter site. Thats why the images are displayed in the product detail page(which lies in the root folder).

    This gives me the problem.

    Because the ProductList page lies in Control folder. So the image path is coming as "http://localhost/StarterSite/Controls/images/<filename>". So the image is not getting dispalyed.

    Kindly help me out in this issue.
    • ReplyReply
    • QuoteQuote
     

Answers

  • Wednesday, August 08, 2007 11:46 AMHoonius Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Answer
    Vote As Helpful
    0
    try setting them as "~/Images/<filename>" in imagefilepath

    the ~ normally indicates the root directory in asp.net apps.

    alternatively, there is a CommerceServer function for this as well

    CommerceComponents.Common.ComponentCommon.ConvertApplicationUrl("~/Images/hoonzcrazyimage.gif")

    should provide the information as well

    hope this helps

    • ReplyReply
    • QuoteQuote
     

All Replies

  • Tuesday, February 26, 2008 2:55 PMMs cs Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     Proposed Answer
    Vote As Helpful
    1

     

    Hi,

    I want to display the images in the Product List page in starter site. I modified the code in ProductList.ascx.

    Here is my code snippet

                        <asp:HyperLink ID="ImageURL" runat="server" EnableViewState="false"
                                            NavigateUrl='<%# this.GetItemUrlString(Container.DataItem) %>'>
                         <asp:Image runat="server" ImageUrl='<%# ((Microsoft.CommerceServer.Catalog.CatalogItemsDataSet.CatalogItem)Container.DataItem)["Image_filename"].ToString()%>'
                                AlternateText="<%# Eval(DisplayNameColumnName) %>" width="130" height="113" />
                         </asp:HyperLink>

     

     

     it throws this error   :    Column 'Image_filename' does not belong to table CatalogItems.

     but 'Image_filename'  exist in table.

     

    Kindly help me out in this issue.


    • Proposed As Answer byJefferson Mesquita Thursday, October 09, 2008 5:56 PM
    •  
    • ReplyReply
    • QuoteQuote
     
  • Wednesday, August 08, 2007 4:34 PMHariP Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0
    Hi Hoonius

    If i do that, the images are displayed in the product list page but the image is not getting displayed in the Product details page.
     
    There, the image path is rendered like http://localhost/StarterSite/~/images/sleepingbags03.gif

    Thank you,
    Regards,
    Hari

    • ReplyReply
    • QuoteQuote
     
  • Thursday, August 09, 2007 9:24 AMHoonius Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0
    does the same thing happen with

    CommerceComponents.Common.ComponentCommon.ConvertApplicationUrl(imagefilepath)?
    • ReplyReply
    • QuoteQuote
     
  • Friday, September 21, 2007 5:52 AMHariP Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0
    Thanks Hoonius,

    It worked.

    I gave the image path as ~/images/<filename> in the Catalog manager and modified the code in the ControlLibraray-> ProductDetails.cs as CommerceComponents.Common.ComponentCommon.ConvertApplicationUrl(imageSource) for image source.
    • ReplyReply
    • QuoteQuote
     
  • Wednesday, February 27, 2008 1:05 PMJ-P Soulieres - CS Product Team Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0

     

    Hi,

     

    The StarterSite by default does not specify this property (Image_FileName) in it's propertiesToReturn (when calling the CS API). Easy way to fix this is simply to the column via the web.config.:

    ...

    <commerceSite

    ...

    propertiesToReturn="CategoryName,ProductID,CatalogName,i_ClassType,DisplayName,cy_list_price,Image_FileName">

    ...

     

    In the site code (SiteConfigurationClass), you could also change the default. This is what it is currently. 

    Code Snippet

    /// <summary>

    /// Gets or sets the additional properties to return during product browsing and search.

    /// </summary>

    [

    ConfigurationProperty(PropertiesToReturnAttributeName,

    DefaultValue =

    "CategoryName,ProductID,CatalogName,i_ClassType,DisplayName,cy_list_price")]

    public string PropertiesToReturn

    {

    get

    {

    return (string)this[PropertiesToReturnAttributeName];

    }

    set

    {

    this[PropertiesToReturnAttributeName] = value;

    }

    }

     

     

     

    Hope this helps

     

    J-P

    • ReplyReply
    • QuoteQuote
     
  • Wednesday, February 27, 2008 2:39 PMMs cs Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0
    Thanks JP,

    It worked.
    • ReplyReply
    • QuoteQuote
     
  • Thursday, February 28, 2008 7:57 AMMs cs Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0
    Now in starter site dynamic  images are displaying in a vertical line in product list page. here  grid is used  for displaying the images.....
     
     
    like:
     
    image1
    image2
    image3
    image4
    image5
    image6
     
    code for above images:


    <asp:GridView ID="SearchResults" runat="Server" AutoGenerateColumns="false" EnableViewState="false"
        AllowPaging="true">

        <Columns>

     <asp:TemplateField>
        <ItemTemplate>
               
                 <asp:HyperLink ID="ImageURL" runat="server" EnableViewState="false"
                                            NavigateUrl='<%# this.GetItemUrlString(Container.DataItem) %>'>
                         <asp:Image ID="Image1" runat="server" ImageUrl='<%# ((Microsoft.CommerceServer.Catalog.CatalogItemsDataSet.CatalogItem)Container.DataItem)
                        ["Image_filename"].ToString()%>'
                                AlternateText="<%# Eval(DisplayNameColumnName) %>" width="130" height="113" />
                         </asp:HyperLink>
       
        </ItemTemplate>
       
       
        </asp:TemplateField>
        </Columns>
    </asp:GridView>

      
     
    but i want images like:
     
    image1       image2         image3
     
    image4        image5         image6
     
    I want to use table itself for displaying images like above.
     
     
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1984043&SiteID=1
     
     
    Kindly help me........
    • ReplyReply
    • QuoteQuote
     
  • Friday, February 29, 2008 8:09 AMMs cs Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
     
    Vote As Helpful
    0
    I did  same thing with datlist as what is in starter site  datagrid in productlist.ascx page. means I replace the datagrid by datalist.

    But that datalist is not appearing when we run the products.aspx page.

    or i have to write some extra code for datlist. i think that as datgrid is bind same way with datalist.

    i put same id  of grid in datlist. and comment the page index in productlist.aspx.cs. but still that datlist is not coming.

    pls help me....



    <aspBig SmileataList ID="SearchResults" runat="server" RepeatColumns="3" RepeatDirection="Horizontal">
        <ItemTemplate>
            <table cellpadding="3" cellspacing="0" border="0">
                <tr>
                    <td valign="top">
                        <asp:HyperLink ID="ImageURL" runat="server" EnableViewState="false" NavigateUrl='<%# this.GetItemUrlString(Container.DataItem) %>'>
                            <asp:Image ID="Image1" runat="server" ImageUrl='<%# ((Microsoft.CommerceServer.Catalog.CatalogItemsDataSet.CatalogItem)Container.DataItem)
                        ["Image_filename"].ToString()%>' AlternateText="<%# Eval(DisplayNameColumnName) %>" Width="130"
                                Height="113" />
                        </asp:HyperLink>
                    </td>
                </tr>
            </table>
        </ItemTemplate>
    </aspBig SmileataList>
    • ReplyReply
    • QuoteQuote
     
Need Help with Forums? (FAQ)
 
© 2009 Microsoft Corporation. All rights reserved.
Terms of Use
|
Trademarks
|
Privacy Statement