我正在尝试以编程方式在转发器中设置背景图像。下面的变化没有奏效,包括尝试在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;
}
答案 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;
}