簡體   English   中英

如何將Site.Master.cs中的字符串或值發送到Default.aspx.cs中的標簽/文本框中的值/字符串?

[英]How do I send a string or value from the Site.Master.cs to my Default.aspx.cs to the value/string in a label/textbox?

謝謝閱讀。 我想設置在Label1(在Site.Master.cs)中獲得的值,以傳遞到Label2(在Default.aspx.cs中)。 我想在以后的項目中使用它作為值來交叉引用SQL db中的數據。

我似乎無法繞開這一步。

在Site.Master.cs中

namespace flexpoolWeb
{
    public partial class SiteMaster : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var windowsIdentity = HttpContext.Current.User.Identity;

            if (windowsIdentity == null)
                throw new InvalidOperationException("WindowsIdentity is null");

            string nameWithoutDomain = HttpContext.Current.User.Identity.Name.Split('\\').Last();
            //serverside code httpContext haalt ingelogde gebruiker op in de sessie.

            Label1.Text = String.Format(nameWithoutDomain);

            Label2.Text = MyMaster.UserName;

        }
        public string UserName
        {
            get { return Label1.Text; }
            set { Label1.Text = value; }
        }
    }
}

在Default.aspx.cs中:

namespace flexpoolWeb
{
    public partial class _Default : System.Web.UI.Page //instead of : Page
    {
        private SiteMaster MyMaster => ((SiteMaster)Master);

    }
}

提前致謝。

編輯:從Skye MacMaster添加了答案

您的母版頁源自MasterPage。 因此,您需要將MasterPage的Cast Master鍵入您的母版名稱。 我猜是Site或SiteMaster。 另外,我通常會創建一個私有屬性,以避免產生一堆難看的類型轉換。

public partial class Default : System.Web.UI.Page
{
    private SiteMaster MyMaster => ((SiteMaster) Master);

    protected void Page_Load(object sender, EventArgs e)
    {
        Label2.Text = MyMaster.UserName;
    }
}

<asp:login id:login1 is not defined in default.aspx.cs< div><div id="text_translate"><p> 我正在制作一個登錄頁面來測試 xml 文件的加密方法,但我現在被這個問題困住了。 我在我的 default.aspx 中有一個 ID login1 的登錄名,如下所示:</p><pre> &lt;%@ Page Title="" Language="C#" MasterPageFile="~/RoseindiaMaster.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %&gt; &lt;asp:Content id="Content1" ContentPlaceHolderID="head" runat="Server"&gt; &lt;/asp:Content&gt; &lt;asp:Content id="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"&gt; &lt;div&gt; &lt;h2 style="color: Green"&gt; Login using Xml file in ASP.NET 4, C#&lt;/h2&gt; &lt;asp:Login id="Login1" runat="Server" BackColor="#F7F7DE" BorderColor="#CCCC99" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="10pt" Height="166px" OnAuthenticate="Login1_Authenticate" Width="264px" FailureText="Username and password did not match:"&gt; &lt;TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="#FFFFFF" /&gt; &lt;/asp:Login&gt; &lt;/div&gt; &lt;/asp:Content&gt;</pre><p> 但在我的 default.aspx.cs 中我無法使用 login1 我收到錯誤: The name 'Login1' does not exist in current context</p><pre class="lang-cs prettyprint-override"> protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { string username; string pwd; string CurrentUser = ""; string CurrentPwd = ""; bool LoginStatus = false; username = Login1.UserName; pwd = Login1.Password;</pre></div></asp:login>

[英]<asp:login id:login1 is not defined in default.aspx.cs

暫無
暫無

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

相關問題 ASP.net在Site.Master.cs類的Default.aspx.cs中調用函數 將值從Default.aspx.cs頁發送到Default.aspx頁javascript函數 將變量從Site.Master.cs傳遞到Site.Master site.master.cs中的空引用異常 如何從.cs文件列表中檢索字符串的值? 如何從另一個類調用Default.aspx.cs中定義的方法 將變量從Site.Master.Cs放入C#中的Site.Master 如何將值從.aspx 傳遞到.aspx.cs? <asp:login id:login1 is not defined in default.aspx.cs< div><div id="text_translate"><p> 我正在制作一個登錄頁面來測試 xml 文件的加密方法,但我現在被這個問題困住了。 我在我的 default.aspx 中有一個 ID login1 的登錄名,如下所示:</p><pre> &lt;%@ Page Title="" Language="C#" MasterPageFile="~/RoseindiaMaster.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %&gt; &lt;asp:Content id="Content1" ContentPlaceHolderID="head" runat="Server"&gt; &lt;/asp:Content&gt; &lt;asp:Content id="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"&gt; &lt;div&gt; &lt;h2 style="color: Green"&gt; Login using Xml file in ASP.NET 4, C#&lt;/h2&gt; &lt;asp:Login id="Login1" runat="Server" BackColor="#F7F7DE" BorderColor="#CCCC99" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="10pt" Height="166px" OnAuthenticate="Login1_Authenticate" Width="264px" FailureText="Username and password did not match:"&gt; &lt;TitleTextStyle BackColor="#6B696B" Font-Bold="True" ForeColor="#FFFFFF" /&gt; &lt;/asp:Login&gt; &lt;/div&gt; &lt;/asp:Content&gt;</pre><p> 但在我的 default.aspx.cs 中我無法使用 login1 我收到錯誤: The name 'Login1' does not exist in current context</p><pre class="lang-cs prettyprint-override"> protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { string username; string pwd; string CurrentUser = ""; string CurrentPwd = ""; bool LoginStatus = false; username = Login1.UserName; pwd = Login1.Password;</pre></div></asp:login> 部署asp.net應用程序后在哪里可以找到Default.aspx.cs文件
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM