0

私はASP.NETを学び始めていますが、Visual Studio WebDevExpressで本当に煩わしいのは小さなことです。「コンテンツが「スクリプト」または「asp:Content」リージョンの外にあるとは思われない」というエラーが表示され続けるので、コンテンツをasp:contentコンテナ内に配置しても消えません。DocTypeを宣言すると、同じ種類のエラーが発生します。これを修正するための提案。また、オフノート:ASP.NETをコーディングするためのより良いIDEはありますか?

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!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>Hello VS2010</title>
</head>
<body>
    <asp:content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <form id="form1" runat="server">
            <div>
                <asp:Literal ID="Literal1" runat="server">
                    Hello World
                </asp:Literal>
            </div>
        </form>
    </asp:content>
</body>
</html>

マスターページ

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
    <title></title>
    <link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="HeadContent" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form runat="server">
    <div class="page">
        <div class="header">
            <div class="title">
                <h1>
                    My ASP.NET Application
                </h1>
            </div>
            <div class="loginDisplay">
                <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
                    <AnonymousTemplate>
                        [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ]
                    </AnonymousTemplate>
                    <LoggedInTemplate>
                        Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
                        [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ]
                    </LoggedInTemplate>
                </asp:LoginView>
            </div>
            <div class="clear hideSkiplink">
                <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
                    <Items>
                        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
                        <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
                    </Items>
                </asp:Menu>
            </div>
        </div>
        <div class="main">
            <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
        </div>
        <div class="clear">
        </div>
    </div>
    <div class="footer">

    </div>
    </form>
</body>
</html>
4

2 に答える 2

3

マスターページは、すべてのページに適用される一種のテンプレートです。ここでは知らないうちに使っているようです

MasterPageFile="~/Site.master"

masterPageには、すべてのページに共通にしたいすべてのコンテンツと、各ページのコンテンツを追加できるasp:contentリージョンがあります。

したがって、ここでは、masterPage参照を削除するか、asp:content領域にあるものを追加および削除することを試みることができます。

これがMasterPagesに関するmsdnリンクです。asp.netを学ぶには、masterPagesを理解することが本当に必要だと思います。

于 2013-01-18T08:41:58.970 に答える
1

新しい返信:

まあいいよ。

したがって、まず最初に、マスターページ内のページを含むページごとに1つのフォームタグのみを使用します。

Webフォームにフォームタグやhtml、body、headタグは必要ありません。マスターページだけが必要です。

したがって、Page.aspxコードは次のようになります:http://codepaste.net/87n474

マスターページで使用可能なすべてのコンテンツ領域をaspxページに含める必要があることに注意してください。

元の返信:

いくつかのこと。

  • マスターページのレイアウトをチェックして、その中にコンテンツの置き忘れがないかどうかを確認します。(ここにも貼り付けてください)
  • また、マスターページに関連して、すべてのHTMLマークアップをasp.aspxページ内に配置する場合、マスターページを作成する意味はあまりありません。

Doctypeは次のようになります。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

大文字と小文字のわずかな違いに注意してください。

最後に、Web devExpressより優れている唯一のIDEはフルバージョンのVisualStudioであり、最新バージョンのVisualStudioよりもasp.netサイトを作成およびデバッグするための優れたバージョンはありません。

于 2013-01-18T08:32:51.723 に答える