[英]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.