簡體   English   中英

嘗試更改默認情況下使用Asp.Net WebForms模板提供的Login.aspx頁的母版時發生運行時錯誤

[英]Runtime error when attempting to change the Master Page for the Login.aspx page given by default with the Asp.Net WebForms template

我使用WebForms模板在Visual Studios 2015中啟動了Asp.Net WebForms項目。 但是,我現在想將母版頁從默認(〜/ Site.Master)更改為我從下載的Bootstrap模板創建的母版頁。

下載的模板可以在我創建的Webforms頁面上找到,但是在嘗試將其與Login頁面一起使用時出現此錯誤:

附加信息:必須將類型為“文本框”的控件“電子郵件”放置在帶有runat = server的表單標記中。

我試圖在不使用母版頁的情況下創建新頁,但繼續出現錯誤。 我檢查的第一件事是用於電子郵件的教科書,但確實有runat =“ server”。 這是代碼片段:

<div class="form-group" runat="server">
     <asp:Label runat="server" AssociatedControlID="Email" CssClass="col-md-2 control-label">Email</asp:Label>
     <div class="col-md-10">
          <asp:TextBox runat="server" ID="Email" CssClass="form-control" TextMode="Email" />
          <asp:RequiredFieldValidator runat="server" ControlToValidate="Email" CssClass="text-danger" ErrorMessage="The email field is required." />
     </div>
 </div>

任何幫助將不勝感激。 我已經檢查了幾個問題,但是大多數問題涉及在后面的代碼中動態更改MasterPage(順便說一句,這不是我要尋找的解決方案)。 謝謝。

如錯誤所述,您應該將控件放置在ContentPlaceHolder元素內。 請參閱MSDN文檔以獲取相同的https://msdn.microsoft.com/zh-cn/library/wtxbf3hh.aspx

在您的母版頁中,您有一個內容contentplaceholder例如

    <asp:contentplaceholder id="cp1" runat="server">
    </asp:contentplaceholder>

在您的“ Login頁面中,包括包含MasterPageFile屬性的母版頁

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

<asp:Content ID="Content1" ContentPlaceHolderID="cp1" Runat="Server">
<asp:TextBox runat="server" ID="Email" CssClass="form-control" TextMode="Email" />
</asp:Content>

我從這個鏈接中找到了答案:

*母版頁和主題

您不能直接將ASP.NET主題應用於母版頁。 如果將主題屬性添加到@ Master指令,則該頁面在運行時將引發錯誤。 但是,在以下情況下,主題將應用於母版頁:如果在內容頁面中定義了主題。 母版頁是在內容頁的上下文中解析的,因此內容頁的主題也適用於母版頁。 如果將站點整體配置為通過在頁面元素(ASP.NET設置架構)元素中包含主題定義來使用主題。 有關更多信息,請參見ASP.NET主題和皮膚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM