内容占位符背景图像

时间:2013-07-01 07:19:22

标签: c# asp.net css background contentplaceholder

可以为内容占位符设置背景图像吗?目前,我可以显示整个页面的背景图像,但内容占位符阻止了大部分图片,所以我想为内容占位符设置背景图像(大部分内容都在持有者中) 。

以下是我在后台显示图片的代码,但我不知道如何将它放在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的新手。

1 个答案:

答案 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