可以为内容占位符设置背景图像吗?目前,我可以显示整个页面的背景图像,但内容占位符阻止了大部分图片,所以我想为内容占位符设置背景图像(大部分内容都在持有者中) 。
以下是我在后台显示图片的代码,但我不知道如何将它放在ASP.NET的内容占位符中:
protected void dropListActivity_SelectedIndexChanged(object sender, EventArgs e)
{
if (dropListActivity.SelectedItem.Text == "GrassHopper and Ants")
{
PageBody.Attributes.Add("style", "background:url(Images/background/ant-and-grasshopper.jpg) no-repeat;");
Session["Background"] = "background:url(Images/background/ant-and-grasshopper.jpg);";
}
if (dropListActivity.SelectedItem.Text == "Food Fit For A King")
{
PageBody.Attributes.Add("style", "background:url(Images/background/King.jpg) no-repeat;");
Session["Background"] = "background:url(Images/background/King.jpg);";
}
}
在我的html方面,我只是添加了一个body id =“PageBody”,它完成了这项工作。但是我如何在内容持有者中这样做呢?我是编程以及CSS或Html的新手。
答案 0 :(得分:0)
内容占位符只渲染它的内容,如果它是空的,则没有渲染的html元素,你可以在其中放置一个div,它将呈现。
关于你的解决方案 - 你要去服务器更改背景图片,请不要 你应该在JavaScript + CSS中做到这一点 使用jQuery来监听select元素的change事件,然后根据它更改背景。
in your css:
.grassHopper{background:url(Images/background/ant-and-grasshopper.jpg) no-repeat;}
.foodFit{background:url(Images/background/King.jpg) no-repeat;}
in your JS
$(document).ready(function(){
$("#dropListActivity").change(function(event){
var jqBody = $("body");
jqBody.removeClass("grassHopper foodFit");
if($(this).find("option[selected]").text() === "GrassHopper and Ants")
{
jqBody.addClass("grassHopper");
}
...
}).change();//also trigger so the bg will be updated according to the selected value at the select from the server
});
最后一件事 - 如果你只是从.net堆栈上的编程开始 - 我建议使用asp.net MVC和ont webForms