在转发器中设置背景图像

时间:2014-02-03 15:13:52

标签: c# jquery asp.net

我正在尝试以编程方式在转发器中设置背景图像。下面的变化没有奏效,包括尝试在div中设置网址,而不是jquery功能:

JQuery函数:

var getBackgroundImage = function (imagePath) {
    var backgroundImage = 'url(' + iipServ + '?FIF=/IIPServer/images/' + imagePath + '&WID=40&CVT=PNG' + ')';
    return backgroundImage;
};

ASP页面:

 <asp:Repeater ID="docResults" runat="server" ItemType="ArchiveViewer.Models.Document" 
     SelectMethod="GetSearchResults" >
     <ItemTemplate> 
         <div class="result" data-docid="<%#:Item.DocumentId %>" 
             data-imageDir="<%#:Item.FolderPath %>" 
             data-objData="<%#:Item.JSONPath %>" 
             style="<%= getBackgroundImage(Item.Pages.First().ImagePath) %> ">  
                  <%#:Item.Metadata.Title %>
         </div>

     </ItemTemplate>
 </asp:Repeater>

可以这样做吗?怎么样? 谢谢!

编辑:每个div都有自己的图片。我从服务器上获取了URL。

编辑2:我不是使用jquery函数,而是在我的代码中使用web方法:

[WebMethod]
    public string getBackgroundImage(string path)
    {
        string iipServer = ConfigurationManager.ConnectionStrings["iipServer"].ConnectionString;
        string urlString = "background-image : url('" + iipServer + "?FIF=/IIPServer/images/" + 
                path + "&WID=40&CVT=PNG)'";
        System.Diagnostics.Debug.WriteLine(urlString);
        return urlString;
    }

2 个答案:

答案 0 :(得分:0)

在ASPX页面中:

style="background-image : <%=getBackgroundImage(Item.Pages.First().ImagePath) %>">

在背后的代码中:

public string getBackgroundImage(string iipServ, string path)
{
    return "url('" + iipServ + "?FIF=/IIPServer/images/" + path + "&WID=40&CVT=PNG)'";
}

目前尚不清楚iipServ是什么以及从何处接受它。只需将其传递给路径上的C#函数。

你应该删除JS功能,这将是所有服务器端。

答案 1 :(得分:0)

pid:你的答案几乎是正确的,但编译器不喜欢它。不过,它帮助我弄清楚如何正确地做到这一点。谢谢。

如果它帮助了其他人,我就是这样解决这个问题的方法:

我的ASPX页面:

<ItemTemplate> 
      <div class="result" data-docid="<%#:Item.DocumentId %>" 
          data-imageDir="<%#:Item.FolderPath %>" data-objData="<%#:Item.JSONPath %>"
          style="<%#: getBackgroundImage(Item.Pages.First().ImagePath) %>" >
        <%#:Item.Metadata.Title %>
      </div>
</ItemTemplate>

我的代码背后:

    [WebMethod]
    public string getBackgroundImage(string path)
    {
        string iipServer = ConfigurationManager.ConnectionStrings["iipServer"].ConnectionString;
        string urlString = @"background-image:url(" 
                + iipServer + "?FIF=/IIPServer/images/" + 
                path + "&WID=40&CVT=PNG)";
        return urlString;
    }