none
GridViewにヘッダーと列を固定させて表示する方法を教えてください。 RRS feed

  • 質問

  • GridViewにヘッダーと列を固定させて表示したいのですが
    うまく表示することができません。
    下記ソースはマスタページをつけているのですが
    マスタページをつけないで同じ操作を行うとHTML形式でソースがかかれ
    うまく表示できます。
    マスタページをつけての場合はどうしたらいいのでしょうか?

    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" title="無題のページ" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
        <style type="text/css">

    .Freezing {
     Z-INDEX: 10; POSITION: relative; ; TOP: expression(this.scrollTop)
    }
    .FreezingCol {
     Z-INDEX: 1; ; LEFT: expression(document.getElementById("freezingDiv").scrollLeft); POSITION: relative
    }
        </style>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <div id="freezingDiv" style="OVERFLOW: auto; WIDTH: 532px; HEIGHT: 150px">
            <aspTongue TiedqlDataSource ID="SqlDataSource1" runat="server"
                    ConnectionString="<%$ ConnectionStrings:komiteConnectionString %>"
                    SelectCommand="SELECT * FROM [KOMI1]"></aspTongue TiedqlDataSource>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
                    DataKeyNames="ID" DataSourceID="SqlDataSource1" BackColor="White"
                    BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3"
                    GridLines="Horizontal">
                <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
                <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
                <Columns>
                    <asp:TemplateField HeaderText="ID" SortExpression="ID">
                        <EditItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'></asp:Label>
                        </EditItemTemplate>
                        <HeaderStyle cssclass="FreezingCol"></HeaderStyle>
                        <ItemStyle cssclass="FreezingCol"></ItemStyle>
                        <ItemTemplate>
                            <asp:Label ID="Label8" runat="server" Text='<%# Bind("ID") %>' Height="10px"
                                    Width="10px"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="名前" SortExpression="名前">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("名前") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <HeaderStyle cssclass="FreezingCol"></HeaderStyle>
                        <ItemStyle cssclass="FreezingCol"></ItemStyle>
                        <ItemTemplate>
                            <asp:Label ID="Label2" runat="server" Text='<%# Bind("名前") %>' Width="100px"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="性別" SortExpression="性別">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("性別") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label3" runat="server" Text='<%# Bind("性別") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="郵便番号" SortExpression="郵便番号">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("郵便番号") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label4" runat="server" Text='<%# Bind("郵便番号") %>' Width="100px"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="住所" SortExpression="住所">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("住所") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label5" runat="server" Text='<%# Bind("住所") %>' Width="200px"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="生年月日" SortExpression="生年月日">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("生年月日") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label6" runat="server" Text='<%# Bind("生年月日") %>' Width="100px"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="年齢" SortExpression="年齢">
                        <EditItemTemplate>
                            <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("年齢") %>'></asp:TextBox>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="Label7" runat="server" Text='<%# Bind("年齢") %>' Width="50px"></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
                <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
                <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7"
                        CssClass="Freezing" />
                <AlternatingRowStyle BackColor="#F7F7F7" />
            </asp:GridView>
        </div>
    </asp:Content>


     

    2008年8月10日 14:10

回答

  • こんにちは

     

    行ヘッダ固定のサンプルですが、以下のページに書いてあるようにすれば実現できると思います。

    http://blogs.yahoo.co.jp/ogiwara_hsk/32105274.html

     

    FreezingColの定義は上記サイトの例にならって以下のようにすれば動作すると思います。

     

            .FreezingCol
            {
                z-index: 1;
                left: expression(this.offsetParent.scrollLeft);
                position: relative;
            }

    2008年8月10日 16:08
  • Masterページを使ったWebフォームでもヘッダの固定は行えます。紹介したサイトではdivではなくgridviewのheaderstyleのcsslcassに固定化を行うスタイルを設定しているはずですが、そのようにしていますか?

     

    cssのfreezingDivがdivタグに設定されているのを、サイトの例にならって、GridViewのHeaderStyleのCssClassプロパティにFreezingを設定すれば行ヘッダが固定できませんか?

     

    #追記

    CssClassプロパティに設定するスタイルクラス名が間違っていたので直しました。

    2008年8月11日 14:50
  • http://blogs.yahoo.co.jp/ogiwara_hsk/32105274.htmlをみて
    > つくってみたのですが

     

    とのことですが、もともと参考にしたのは下記の Web サイトではないですか?

     

    tableのヘッダー/列を固定
    http://jsajax.com/CSSFixedHeaderColumnsArticle426.aspx

     

    ここを見ていて気がついたのですが、ひょっとして、ブラウザの表示モードが、
    マスターページ無しの場合は「互換モード」、有りの場合は「標準モード」に
    なっていませんか?

     

    VWD ではデフォルトで以下の DOCTYPE 宣言が自動的に入って、ブラウザの表
    示モードは「標準モード」になりますが、マスターページ無しの場合その宣言
    がないってことはありませんか?

     

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

     

    上記の宣言が入っていると、ブラウザの表示モードは「標準モード」になって、
    「うまく表示されません。」ということになります。

    2008年8月12日 13:27
  • > ソースをみてみましたがDOCTYPE宣言は入っていませんでした。

     

    見るところが違います。

     

    マスターページ MasterPage.master の方を見ないとダメです。マスターページ

    をテンプレートから作ると、デフォルト設定では3行目に タグが

    入っているはずです。

     

    > どのように訂正したら正しく表示することができるのでしょうか?

     

    以下のコードをコピペして試してみてください。そのまま試すと同様な問題が出る

    と思います。 <!DOCTYPE ...> タグを削除するとうまく表示されると思います。

     

    前者が「標準モード」で、後者が「互換モード」です。

     

    Code Snippet

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data" %>

     

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

     

    <script runat="server">
        DataTable CreateDataTable()
        {
            DataTable dt = new DataTable();
            DataRow dr;

            dt.Columns.Add(new DataColumn("Code", typeof(Int32)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Price", typeof(Int32)));
            dt.Columns.Add(new DataColumn("Qty", typeof(Int32)));
            dt.Columns.Add(new DataColumn("Amount", typeof(Int32)));

            for (int i = 0; i < 50; i++)
            {
                dr = dt.NewRow();
                dr[0] = i;
                dr[1] = "Item " + i.ToString();
                dr[2] = 123000 * (i + 1);
                dr[3] = i + 1;
                dr[4] = 123000 * (i + 1) * (i + 1);
                dt.Rows.Add(dr);
            }
            return dt;
        }

        void Page_Load(Object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridView1.DataSource = CreateDataTable();
                GridView1.DataBind();
            }
        }   
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>無題のページ</title>
        <style type="text/css">
            .Freezing
            {
                z-index: 10;
                position: relative;
                top: expression(this.offsetParent.scrollTop);
                background-color: Yellow;
            }
           
            .FreezingCol
            {
                z-index: 1;
                left: expression(document.getElementById("freezingDiv").scrollLeft);
                position: relative;
                background-color: Yellow;
            }
            #freezingDiv
            {
                overflow: auto;
                width: 180px;
                height: 200px;
            }
        </style>
    </head>

    <body>
        <form id="form1" runat="server">
        <div id="freezingDiv">
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="Code" HeaderText="コード" >
                        <HeaderStyle CssClass="FreezingCol" />
                        <ItemStyle CssClass="FreezingCol" />
                    </asp:BoundField>
                    <asp:BoundField DataField="Name" HeaderText="商品名" >
                        <HeaderStyle CssClass="FreezingCol" />
                        <ItemStyle CssClass="FreezingCol" />
                    </asp:BoundField>
                    <asp:BoundField DataField="Price" HeaderText="単価" >
                    </asp:BoundField>
                    <asp:BoundField DataField="Qty" HeaderText="数量" >
                    </asp:BoundField>
                    <asp:BoundField DataField="Amount" HeaderText="合価" >
                    </asp:BoundField>
                </Columns>  
                <HeaderStyle CssClass="Freezing" />
            </asp:GridView>       
        </div>
        </form>
    </body>
    </html>

     

     

     

     

    2008年8月13日 14:21
  • 先の私のレス、

     

     SurferOnWww さんからの引用

    見るところが違います。

     

    マスターページ MasterPage.master の方を見ないとダメです。マスターページ

    をテンプレートから作ると、デフォルト設定では3行目に タグが

    入っているはずです。

     

    を読んでタグの有無を調べてますか? 調べてないとすると話にならないし、もし調

    べた結果タグはないということでも、その旨連絡してもらわないと話が進まないです。

     

    HTML タグの件についてもマスターページの有無とは関係ないことは先にレスして

    ますが、また同じように、

     

    >  <body>
    >  <html>などはないですし、

     

    などという話をしているし、どう考えてもちゃんとレスを読んでもらっているとは思えな

    いんですけど。

    2008年8月14日 14:24

すべての返信

  • こんにちは

     

    行ヘッダ固定のサンプルですが、以下のページに書いてあるようにすれば実現できると思います。

    http://blogs.yahoo.co.jp/ogiwara_hsk/32105274.html

     

    FreezingColの定義は上記サイトの例にならって以下のようにすれば動作すると思います。

     

            .FreezingCol
            {
                z-index: 1;
                left: expression(this.offsetParent.scrollLeft);
                position: relative;
            }

    2008年8月10日 16:08
  • http://blogs.yahoo.co.jp/ogiwara_hsk/32105274.htmlをみて

    つくってみたのですが

    HTML形式

    -------------------------

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>無題のページ</title>
        <style type="text/css">

    .Freezing {
     Z-INDEX: 10; POSITION: relative; ; TOP: expression(this.offsetParent.scrollTop)
    }
    .FreezingCol {
     Z-INDEX: 1; ; LEFT: expression(document.getElementById("freezingDiv").scrollLeft); POSITION: relative
    }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>

    --------------------

    ではちゃんと表示されるのですが
    マスタページをつけた

    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" title="無題のページ" %>

    (上記コード)

    では、うまく表示されません。
    htmlが入っていないのが問題なんでしょうか??

    2008年8月11日 13:17
  • Masterページを使ったWebフォームでもヘッダの固定は行えます。紹介したサイトではdivではなくgridviewのheaderstyleのcsslcassに固定化を行うスタイルを設定しているはずですが、そのようにしていますか?

     

    cssのfreezingDivがdivタグに設定されているのを、サイトの例にならって、GridViewのHeaderStyleのCssClassプロパティにFreezingを設定すれば行ヘッダが固定できませんか?

     

    #追記

    CssClassプロパティに設定するスタイルクラス名が間違っていたので直しました。

    2008年8月11日 14:50
  • > GridViewにヘッダーと列を固定させて表示したいのですが
    > うまく表示することができません。

    上記で、「うまく表示することができません。」とは具体的にどういうことですか? 
    GridView さえ表示されないということですか? それとも、GridView は表示される
    ものの、指定した style が無視される(<style> から </style> までが無いのと同
    じ)ということですか?

     

    > 下記ソースはマスタページをつけているのですが

    > マスタページをつけないで同じ操作を行うとHTML形式でソースがかかれ
    > うまく表示できます。

     

    上記で、「HTML形式でソースがかかれ」とありますが、マスターページを使っても HTML
    形式(<html> <head> ・・・ </head> <body> ・・・ </body> </html>)になってい
    るはずです。ブラウザに表示されたら[表示]→[ソース]で html ソースを表示さ
    せて比べてみてください。

     

    指定した style が同じように適用されていたら(例えば <tr class="Freezing"> の
    ように)、マスターページを使う使わないに関係なく、全く同じに表示されるはずです。

     

    念のため、こちらで検証してみましたが、マスターページの有無で全く違いはなかっ
    たです。(コードは簡略化したものですが)
     

    2008年8月12日 3:22
  • > 上記で、「うまく表示することができません。」とは具体的にどういうことですか? 

    GridViewは表示され、ヘッダーも、列も固定されるのですが

    固定されたヘッダーも列もpanelからはみ出ているうえに

    GridViewをスクロールさせても固定されたヘッダーと列が動かない

    (中身のデータとタイトルがあわなくなる)

    といった状態です。

     

    また、GridViewをラベルではなく、テキストボックスやドロップダウンリストに

    しているのですが

    ドロップダウンリストは上下にスクロールするとpanelの上にはみでてしまいます。

     

    教えていただいたとおり(?)にしているとは思うのですが

    まだ、うまくいかない状況です。

    何か、他に考えられることはないでしょうか?

    2008年8月12日 13:16
  • http://blogs.yahoo.co.jp/ogiwara_hsk/32105274.htmlをみて
    > つくってみたのですが

     

    とのことですが、もともと参考にしたのは下記の Web サイトではないですか?

     

    tableのヘッダー/列を固定
    http://jsajax.com/CSSFixedHeaderColumnsArticle426.aspx

     

    ここを見ていて気がついたのですが、ひょっとして、ブラウザの表示モードが、
    マスターページ無しの場合は「互換モード」、有りの場合は「標準モード」に
    なっていませんか?

     

    VWD ではデフォルトで以下の DOCTYPE 宣言が自動的に入って、ブラウザの表
    示モードは「標準モード」になりますが、マスターページ無しの場合その宣言
    がないってことはありませんか?

     

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

     

    上記の宣言が入っていると、ブラウザの表示モードは「標準モード」になって、
    「うまく表示されません。」ということになります。

    2008年8月12日 13:27
  • > 固定されたヘッダーも列もpanelからはみ出ているうえに

    > GridViewをスクロールさせても固定されたヘッダーと列が動かない

    > (中身のデータとタイトルがあわなくなる)

    > といった状態です。

     

    レスが前後してしまいましたが、「互換モード」「標準モード」の違いによるものに

    間違いないと思います。

     

    #以前、ホームページビルダーで作ったページと VWD で作ったページを

     一緒にして色々問題が出たということがなかったでしたっけ?

    2008年8月12日 13:34
  • >レスが前後してしまいましたが、「互換モード」「標準モード」の違いによるものに

    >間違いないと思います。

    >

    >#以前、ホームページビルダーで作ったページと VWD で作ったページを

    >一緒にして色々問題が出たということがなかったでしたっけ?

     

    VWDで新規から作っていますが??

    ホームページビルダーを使用したことはありません。

    「互換モード」「標準モード」??

    何が原因なんでしょうか?

    2008年8月12日 15:55
  • > VWDで新規から作っていますが??
    > ホームページビルダーを使用したことはありません。

     

    人違いだったようで、失礼しました。

     

    > 「互換モード」「標準モード」??

     

    それをキーワードにしてグーグルなどで検索すれば参考になるサイトが
    山ほど出てきます。そちらを参考にしてください。

     

    > 何が原因なんでしょうか?

     

    もう一つ上のレスを読んでもらっているでしょうか? それを読んでも
    分からない、またはそれを読んで対処したが改善されないという場合は
    再度ここで質問してください。

    2008年8月13日 0:30
  • ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    >上記の宣言が入っていると、ブラウザの表示モードは「標準モード」になって、
    >「うまく表示されません。」ということになります。

     

    ソースをみてみましたがDOCTYPE宣言は入っていませんでした。

    どのように訂正したら正しく表示することができるのでしょうか?

    すみません。いろいろなところに宣言を入れてみたりと

    やってはみたのですがわかりませんでした。

     

    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default3.aspx.vb" Inherits="Default3" title="無題のページ" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
        <style type="text/css">

    .Freezing {
     Z-INDEX: 10; POSITION: relative; ; TOP: expression(this.scrollTop)
    }
    .FreezingCol {
     Z-INDEX: 1; ; LEFT: expression(document.getElementById("freezingDiv").scrollLeft); POSITION: relative
    }
        </style>
    </asp:Content>

     

     

    2008年8月13日 13:13
  • > ソースをみてみましたがDOCTYPE宣言は入っていませんでした。

     

    見るところが違います。

     

    マスターページ MasterPage.master の方を見ないとダメです。マスターページ

    をテンプレートから作ると、デフォルト設定では3行目に タグが

    入っているはずです。

     

    > どのように訂正したら正しく表示することができるのでしょうか?

     

    以下のコードをコピペして試してみてください。そのまま試すと同様な問題が出る

    と思います。 <!DOCTYPE ...> タグを削除するとうまく表示されると思います。

     

    前者が「標準モード」で、後者が「互換モード」です。

     

    Code Snippet

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data" %>

     

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

     

    <script runat="server">
        DataTable CreateDataTable()
        {
            DataTable dt = new DataTable();
            DataRow dr;

            dt.Columns.Add(new DataColumn("Code", typeof(Int32)));
            dt.Columns.Add(new DataColumn("Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Price", typeof(Int32)));
            dt.Columns.Add(new DataColumn("Qty", typeof(Int32)));
            dt.Columns.Add(new DataColumn("Amount", typeof(Int32)));

            for (int i = 0; i < 50; i++)
            {
                dr = dt.NewRow();
                dr[0] = i;
                dr[1] = "Item " + i.ToString();
                dr[2] = 123000 * (i + 1);
                dr[3] = i + 1;
                dr[4] = 123000 * (i + 1) * (i + 1);
                dt.Rows.Add(dr);
            }
            return dt;
        }

        void Page_Load(Object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GridView1.DataSource = CreateDataTable();
                GridView1.DataBind();
            }
        }   
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>無題のページ</title>
        <style type="text/css">
            .Freezing
            {
                z-index: 10;
                position: relative;
                top: expression(this.offsetParent.scrollTop);
                background-color: Yellow;
            }
           
            .FreezingCol
            {
                z-index: 1;
                left: expression(document.getElementById("freezingDiv").scrollLeft);
                position: relative;
                background-color: Yellow;
            }
            #freezingDiv
            {
                overflow: auto;
                width: 180px;
                height: 200px;
            }
        </style>
    </head>

    <body>
        <form id="form1" runat="server">
        <div id="freezingDiv">
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="Code" HeaderText="コード" >
                        <HeaderStyle CssClass="FreezingCol" />
                        <ItemStyle CssClass="FreezingCol" />
                    </asp:BoundField>
                    <asp:BoundField DataField="Name" HeaderText="商品名" >
                        <HeaderStyle CssClass="FreezingCol" />
                        <ItemStyle CssClass="FreezingCol" />
                    </asp:BoundField>
                    <asp:BoundField DataField="Price" HeaderText="単価" >
                    </asp:BoundField>
                    <asp:BoundField DataField="Qty" HeaderText="数量" >
                    </asp:BoundField>
                    <asp:BoundField DataField="Amount" HeaderText="合価" >
                    </asp:BoundField>
                </Columns>  
                <HeaderStyle CssClass="Freezing" />
            </asp:GridView>       
        </div>
        </form>
    </body>
    </html>

     

     

     

     

    2008年8月13日 14:21
  • ありがとうございます。

    上のソースと同じ表示が現在の段階で

    <!DOCTYPE ...> タグを削除したのがやりたい表示方法です。

     

    そしてマスタページを追加して<!DOCTYPE ...> タグを削除した表示に

    させたいのですが

    VWDの新規の作成ソースが下記のようなものですが

    ----------------------------------------------------

    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default4.aspx.vb" Inherits="Default4" title="無題のページ" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    </asp:Content>

    ----------------------------------------------------

    <body>
    <html>などはないですし、また教えていただいたコードの1行目を

    <%@ Page Language="C#"  MasterPageFile="~/MasterPage.master" %>

    としてもエラーになってしまいます。

     

    どのようにしたらマスタページの追加ができるのでしょうか?

    2008年8月14日 9:54
  • 先の私のレス、

     

     SurferOnWww さんからの引用

    見るところが違います。

     

    マスターページ MasterPage.master の方を見ないとダメです。マスターページ

    をテンプレートから作ると、デフォルト設定では3行目に タグが

    入っているはずです。

     

    を読んでタグの有無を調べてますか? 調べてないとすると話にならないし、もし調

    べた結果タグはないということでも、その旨連絡してもらわないと話が進まないです。

     

    HTML タグの件についてもマスターページの有無とは関係ないことは先にレスして

    ますが、また同じように、

     

    >  <body>
    >  <html>などはないですし、

     

    などという話をしているし、どう考えてもちゃんとレスを読んでもらっているとは思えな

    いんですけど。

    2008年8月14日 14:24
  • すみません。

    つい、教えていただいたソースの方に気をとられて、

    マスタページの方を見落としてしましました。

    教えていただいているのに本当に申し訳ありませんでした。

     

    マスタページの

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

    を削除したら、思ったとおりの動きをするようになりました。

     

    丁寧に、わかるまで教えていただき

    本当にありがとうございました。

    2008年8月16日 13:30
  • こんにちは。中川俊輔 です。

     

    handcraftさん、SurferOnWwwさん、回答ありがとうございます。

     

    komi1さん、フォーラムのご利用ありがとうございます。

    有用な情報と思われたため、

    handcraftさん、SurferOnWwwさんの回答へ回答済みチェックをつけさせていただきました。

     

    回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
    有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。

    komi1さんはチェックを解除することもできますので、ご確認ください。

     

    それでは!

    2008年8月27日 7:59