2

ASP.NETフレームワークを使用しています。ウェルカムページ内(ユーザーがログインした後)で、段落テキストをカスタマイズしてログイン情報を含めたいと思います。例えば:

<p>
   Welcome to the website!
</p>

コードが現在持っているものですが、私が欲しいのは:

<p>
       Welcome <var=Username> to the website!
</p>

今では明らかにそれは正しくありません、私はそれが正しいとは思っていませんでした。私がやろうとしていることを示したいだけです。どういうわけかこれを達成するためにJavaScriptを使用することを考えましたが、それは少し複雑すぎるように見えました。私の変数「Username」は、別の場所にある.csファイルの別のクラスから取得されています。その変数を自分の変数に埋め込むにはどうすればよい<p></p>ですか?

4

7 に答える 7

4

マークアップにラベルを追加します。

<p>
       Welcome <asp:Label ID="lblUsername" runat="server" /> to the website!
</p>

そして、背後にあるコードで:

protected void Page_Load(object sender, EventArgs e)
{
    lblUsername.Text = "username";  // set to the username variable here
}
于 2012-12-28T18:03:49.727 に答える
3

マーカーの代わりにinを使用<asp:Literalして、Page_Loadで必要に応じて値を設定できます。ltUsername.Text = UserName;

<p>Welcome <asp:Literal ID="ltUsername" runat="server" /> to the website</p>

とあなたのコードの後ろに

protected void Page_Load(object sender, EventArgs e)
{
    ltUsername.Text = Username; // whatever that may be
}

リテラルは指定したものだけを出力しますが、asp:Labelはテキストを<span>タグでラップし、混乱を招く可能性のある余分なマークアップを追加します。そのためasp:Label、実際の<label>要素(に関連付けられている要素)にのみ使用しinputます。

于 2012-12-28T18:04:04.253 に答える
2

その変数が別のクラスからのものである場合は、何らかの方法でそれを格納する方法が必要になります。そのための1つの方法は、セッションに入れることです。

だからあなたの「他の」クラスで

Session["myVariable"] = variable;

次に、「Webサイトへのようこそ「変数」」を設定するページで、次の手順を実行します。

まず、プロパティを作成します。

public string name {get;set;}

次に、page_loadで:

 protected void Page_Load(object sender, EventArgs e)
   {
          name = Session["myVariable"]
   }

次に、次のコードを.aspxページに配置するだけです。

 Hello <%= name %> , welcome to the website!

または、次のこともできます。

Page_Load:

Label1.Text = Session["myVariable"].ToString();

.aspx:

Hello, <asp:Label ID="Label1" runat="server" /> welcome to the website.
于 2012-12-28T18:05:23.873 に答える
1

HTMLで

<p>
       Welcome <asp:Label ID="lblUserName" runat="server"></asp:Label> to the website!
</p>

次に、Page_Loadの.csファイルに

lblUserName.Text = {The User's First Name}

認証の方法についてさらにコードを投稿する{The Users First Name} と、実際のコードに置き換えることができます。今のところ、FirstNameコードを入力するためにそれを自分で使用してください

于 2012-12-28T18:04:22.677 に答える
1

サーバー側のコントロール、つまりラベル、テキストボックスを使用して、次のことを行う必要があります。

<asp:Label id="username" runat="server" />

上記のパーティーはあなたのマークアップセクションに入ります。

次に、Page_Loadイベントで、またはユーザー名プロパティが入力された.csファイルのどこにあるかで、次のことができます。

  username.Text = User;
于 2012-12-28T18:04:30.970 に答える
0

チュートリアルサイトのツアーに参加して、構文と構造に精通することをお勧めします。開始するのに適した場所は、http://www.w3schools.com/aspnet/default.aspです(これについてのフィードバックはすでに想像できます;))

達成しようとしていることは非常に単純です。VisualStudioに付属しているテンプレートの一部をインストールすることもできます(ある場合)...いくつかは、達成しようとしていることを正確に実行します。

幸運を!

于 2012-12-28T18:07:45.660 に答える
0

最善の方法は、次を使用することです。

var page=HttpContext.Current.Handler as Page;

よりも:

page.Header.Controls.Add(literalcontrol);

そのため、クラスからそれを使用できます。各コード ビハインドにそれを記述する必要はありません。

于 2015-02-11T12:57:48.293 に答える