1

我从 JSON 获取图像列表并添加到如下页面:

IEnumerable jsonData = default(IEnumerable);

            jsonData = GetJsonValues("http://www.viki.com/api/v2/channels.json");

            foreach (MovieDetails item in jsonData)
            {
                Image thumbNailImage = new Image();
                thumbNailImage.ImageUrl = item.Thumbnail;

                //this.Master.Controls.Add(thumbNailImage);
                this.Controls.Add(thumbNailImage);

            }

但这是在页面底部添加图像,因为页面模板来自母版页。

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="VikiWeb._Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    </asp:Content>

现在如何在母版页中添加图像。

4

2 回答 2

2

您将PlaceHolder放置在您想要添加控件的位置,并添加类似于您的代码的控件,但使用此 PlaceHolder id 为:

<asp:PlaceHolder runat="server" id="placeOnMe" />

placeOnMe.Controls.Add(thumbNailImage);
于 2012-08-30T05:21:29.940 回答
1

asp:Panel在您需要渲染图像的 MasterPage 中放置一个。在内容页面的代码隐藏中,执行此操作

var panel = Master.FindControl("your_panel_id") as Panel;
if(panel != null)
{
    IEnumerable jsonData = default(IEnumerable);
    jsonData = GetJsonValues("http://www.viki.com/api/v2/channels.json");
    foreach (MovieDetails item in jsonData)
    {
        Image thumbNailImage = new Image();
        thumbNailImage.ImageUrl = item.Thumbnail;
        panel.Controls.Add(thumbNailImage);
    }
}
于 2012-08-30T05:20:47.290 回答