0

ASP.NET は初めてで、Master に基づいた Web フォーム ページを台無しにしてしまったようです。無効な html コードをいくつか混ぜたようですが、その理由がわかりません。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Clips.aspx.cs" Inherits="Clip.Clips" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

        <asp:EntityDataSource ID="entityDataSource" runat="server" ConnectionString="name=ClipEnt" DefaultContainerName="ClipEnt" EnableDelete="True" EnableFlattening="False" EnableInsert="True" EnableUpdate="True" EntitySetName="Clips" EntityTypeFilter="Clip" OnSelecting="EntityDataSource_Selecting">
        </asp:EntityDataSource>
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="entityDataSource">
            <Columns>
                <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" />
            </Columns>
        </asp:GridView>

            <div>
            <h1>Sending Email</h1>
        <table>
            <tr>
                <td>From:</td>
                <td>
                    <asp:TextBox ID="txtFrom" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>From EMail:</td>
                <td>
                    <asp:TextBox ID="txtFromEmail" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>To:</td>
                <td>
                    <asp:TextBox ID="txtTo" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>To Email:</td>
                <td>
                    <asp:TextBox ID="txtToEmail" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>Subject:</td>
                <td>
                    <asp:TextBox ID="txtSubject" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>Message:</td>
                <td>
                    <asp:TextBox ID="txtMessage" runat="server" TextMode="MultiLine" Height="138px" 
                        Width="467px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="right">
                    <asp:Button ID="btnSend" runat="server" Text="Send Email" 
                        onclick="btnSend_Click" />
                </td>
            </tr>
        </table>
        <asp:Label ID="Label1" runat="server" ForeColor="Blue" />
    </div>
    </form>
</body>
</html>

</asp:Content>
4

2 に答える 2

0

asp.net Web サイトを開発する際に覚えておくべきいくつかのポイント -

  1. formasp.net Web フォームには、属性を持つタグを1 つだけ含めることができますrunat='server'。そのため、Web フォームがマスターページから継承する場合form、マスター ページからタグを継承します。formしたがって、タグを Web フォームに個別に追加する必要はありません。
  2. ページの共通部分はマスター ページに配置する必要があり、変更部分はマスター ページを継承する Web フォームに配置する必要があります。サイトのヘッダーとフッターは、すべてのページで静的です。そのため、マスター ページに配置する必要があります。Web サイトの内容はページごとに変わります。そのため、マスター ページを継承する Web フォームに配置する必要があります。
  3. サイト スタイル シートや JavaScript ファイルなどの共通リソースへのリンクも、マスターページに一度配置する必要があります。masterpage を継承する Web フォームは、それらを自動的に継承します。

これらは、マスター ページを使用して Web フォームを簡単に開発できるようにするための一部です。

于 2013-11-03T17:49:04.327 に答える
0

マスターページには、次のようなものがあります。

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">

        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

この削除されたマークアップは、コンテンツ ページにのみ必要です。DOCTYPE、、、およびタグをコンテンツ ページから削除したことに注意してください。これらのタグは、Site.Master マスター ページから<html>レンダリングさ<head>ます<body><form>

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Clips.aspx.cs" Inherits="Clip.Clips" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

    <asp:EntityDataSource ID="entityDataSource" runat="server" ConnectionString="name=ClipEnt" DefaultContainerName="ClipEnt" EnableDelete="True" EnableFlattening="False" EnableInsert="True" EnableUpdate="True" EntitySetName="Clips" EntityTypeFilter="Clip" OnSelecting="EntityDataSource_Selecting">
    </asp:EntityDataSource>
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="entityDataSource">
        <Columns>
            <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" ShowSelectButton="True" />
        </Columns>
    </asp:GridView>

    <div>
        <h1>Sending Email</h1>
        <table>
            <tr>
                <td>From:</td>
                <td>
                    <asp:TextBox ID="txtFrom" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>From EMail:</td>
                <td>
                    <asp:TextBox ID="txtFromEmail" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>To:</td>
                <td>
                    <asp:TextBox ID="txtTo" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>To Email:</td>
                <td>
                    <asp:TextBox ID="txtToEmail" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>Subject:</td>
                <td>
                    <asp:TextBox ID="txtSubject" runat="server" Width="250px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td>Message:</td>
                <td>
                    <asp:TextBox ID="txtMessage" runat="server" TextMode="MultiLine" Height="138px"
                        Width="467px"></asp:TextBox>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="right">
                    <asp:Button ID="btnSend" runat="server" Text="Send Email"
                        OnClick="btnSend_Click" />
                </td>
            </tr>
        </table>
        <asp:Label ID="Label1" runat="server" ForeColor="Blue" />
    </div>
</asp:Content>
于 2013-11-03T17:35:11.300 に答える