0

テーブルに画像を動的に作成しようとしていますが、UpdatePanel が更新されていないようです。.aspx ページに次のコードがあります。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ViewTile.aspx.cs" Inherits="ViewTile" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body runat="server">
        <form id="form1" runat="server">
            <div>
                <asp:Image ID="tileImg" runat="server"/>
                <asp:ScriptManager ID="ScriptManager1" runat="server"/>
                <table>
                    <asp:updatePanel ID="UpdatePanel1" runat="server">
                        <ContentTemplate>
                            <asp:PlaceHolder runat="server" ID="placeholder1"/>
                        </ContentTemplate>
                    </asp:updatePanel>
                </table>        
            </div>
        </form>
    </body>
</html>

そして、これが aspx.cs ページです。

TableRow imageRow = new TableRow();

for (int rowItr = 0; rowItr < 3; rowItr++)
{
    for (int colItr = 0; colItr < 4; colItr++)
    {
        System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
        image.ImageUrl = "~/ShowTile.ashx?SheetId=" + SheetGUID + "&Scale=" + 3
            + "&XCoord=" + colItr + "&YCoord=" + rowItr;
        placeholder1.Controls.Add(image);
        TableCell imageCell = new TableCell();
        imageCell.Controls.Add(image);
        imageRow.Cells.Add(imageCell);
    }

    placeholder1.Controls.Add(imageRow);
    imageRow.Cells.Clear();
}

クライアントでイメージタグを使用して手動で出力したため、イメージが正しく呼び出されていることはわかっています。どんな助けでも素晴らしいでしょう!ありがとう

4

2 に答える 2

1

最初にテーブルを追加し、それに行を追加し、最後にテーブルを追加する必要がありますplaceholder1.Controls

Table tbl= new Table();
for (int rowItr = 0; rowItr < 3; rowItr++)
{
    TableRow imageRow = new TableRow();
    for (int colItr = 0; colItr < 4; colItr++)
    {

        System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
        image.ImageUrl = "~/ShowTile.ashx?SheetId=" + SheetGUID + "&Scale=" + 3
            + "&XCoord=" + colItr + "&YCoord=" + rowItr;
        TableCell imageCell = new TableCell();
        imageRow.Cells.Add(imageCell);            
    }
    tbl.Rows.Add(imageRow);
}
placeholder1.Controls.Add(tbl);
于 2013-05-08T04:00:51.293 に答える
1

これは、javascript と Web サービスを使用して行うことができます。

Web サービスを呼び出して画像の URL を取得し、更新パネルの div に追加する関数を作成します。

于 2013-05-08T04:23:59.103 に答える