c# - 添加母版页后图像不会呈现在我的 aspx 页面上..如果没有更改 ID ..还有什么原因?

标签 c# javascript asp.net html css

使用以下代码去除系统生成的 ID:-

Banner.ascx.cs

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
    StringWriter Html = new StringWriter();
    HtmlTextWriter Render = new HtmlTextWriter(Html);
    base.Render(Render);
    writer.Write(Html.ToString().Replace("id=\"ctl00_ContentPlaceHolder2_ctl00_Banner_", "id=\""));
}

使用上面的代码将 ID 呈现为原始 ID (即“div1”..早些时候它会将div的ID呈现为“ctl00_ContentPlaceHolder2_ctl00_Banner_div1”......所以我改变了ID是因为它不显示我的图像) 仅但图像仍然不会显示...

测试类.aspx :-

<div id="div1" class="id0" style="background-image: url(<%=GetImage()%>);">
    <ul>
        <li>
        <li>
        .
        .
        .
    </ul>
</div>

testClass.aspx.cs

public partial class testClass : System.Web.UI.Page    
{
    Control userControlBanner;
    UserControl Banner;
    Content c1;

    protected void Page_PreInit(object sender, EventArgs e)
    {            
        this.MasterPageFile = (String)("~/master1.master");
        c1 = new Content();
        string uc = "~/usercontrols/Banner.ascx";
        userControlBanner = Page.LoadControl(uc);
        userControlBanner.ID = "Banner";
        c1.Controls.Add(userControlBanner);
        this.Master.FindControl("ContentPlaceHolder2").Controls.Add(c1);
    }
}

Banner.ascx

现在当上面的代码在页面源代码中呈现时,我看到完整的图像路径为“http://localhost/myweb/images/myImage.jpg”,当我输入这个地址时我可以看到图像 浏览器中的“http://localhost/myweb/images/myImage.jpg”为什么图像不会出现在我的 aspx 页面上!?:((

我努力摆脱系统生成的 ID,但图像仍然无法显示! :((

编辑1:

好的,我什至给出了图像的路径(图像实际所在的位置):- "F:\WS\myweb\images\myimage.jpg"...它至少应该现在显示!..不是不是吗?图像是否隐藏在其他页面元素后面或什么?

天哪,我像任何事情一样陷入困境:((

编辑2:

好的,我尝试了 mxmissile 所说的..在我的测试页面上添加了一个 div 标签并将用户控件分配给它而不是“ContentPlaceHolder”(尽管我只想要横幅) ... 现在图像仍然没有出现..其他一切都很好..列表元素和所有..只是那个图像没有出现...我从用户控件中删除了所有东西但是 Sprite 图像认为可能是图像被隐藏或背后的东西链接列表..仍然没有图像:( 请有人帮忙。谢谢!

编辑3:

当我打开 Firebug 时..在“样式”部分下...它显示的图像路径被删除了..这是为什么???

编辑4:

发现样式被覆盖了。我在我的 css 中提供了背景图像,在 ID = id0 的 div 标签中提供了相同的背景图像。从 div 标签中删除了背景图像属性。现在图像路径仅在 css 中......所以不再删除文字..图像仍然没有出现....图像的路径是正确的...在 firebug 的“样式”部分中..当我将鼠标悬停在

上时我可以看到图像
.id0, .mySprite:hover div {
background-image:url("http://localhost/myWeb/images/myImage.jpg");

为什么我在我的页面上看不到横幅图片?

编辑5:

改变了这个:

.id0, .mySprite:hover div
{
    background-image: url(../images/myImage.jpg);
    background-repeat: no-repeat;
}

为此:

.id0, .mySprite:hover div
{
    background-image: url(../images/myImage.jpg);
    background-repeat: no-repeat;
    width: 728px;
    height: 243px;
}

还是没有! :(((( 如果这不是尺寸问题,那是什么???

编辑6:

图像正在从一个方法中获取... url(<%=GetImage()%>);此方法返回路径正常..只是在我的页面上看不到任何图像..怎么了??

[编辑 7]

只有在添加母版页之后,这个 Sprite 才搞砸了..之前工作得很好..

最佳答案

标记:

<div id="div1" class="c1" runat="server" ></div>

代码隐藏:

div1.Controls.Add(userControlBanner);

不要将图像路径设置为 F:ws... 位置使用您的原始路径 "/images/myImage.jpg" 或更好的 "~/images/myImage.jpg "

关于c# - 添加母版页后图像不会呈现在我的 aspx 页面上..如果没有更改 ID ..还有什么原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975148/

相关文章:

c# - 网络API : Odata route always returning a 404 response

c# - 将函数标记为异步但没有等待调用,有什么问题吗?

c# - VS 2015 Locals 窗口消失

c# - 尝试调用 Web 服务时出现 channel 超时错误

c# - 查找在列表中恰好出现两次的重复项

c# - .NET Framework 3.5 和 TLS 1.2

javascript - 禁用按钮点击提示或创建官方保存按钮

javascript - 从右向左淡入淡出

javascript - 扩展应用程序 : Uncaught TypeError: undefined is not a function

c# - 当面板在 asp.net 中可见时如何淡化背景