0

を使用してASP.NET/C#います。

を利用して、現在ログインしているユーザーの名とミドルネームを表示していますSession

ここにコードがあります

HTML:

<li><a href="#"><%=Session["UserFName"]%>&nbsp;<%=Session["UserMName"]%>&#9660;</a>

コードビハインド:

//Call the function which returns User's Name
var userName = userBLL.GetUserName(HttpContext.Current.User.Identity.Name);
if (userName != null)
{
Session["UserFName"] = userName.FirstName;
Session["UserMName"] = userName.MiddleName; 
}

ここに GetUserName 関数があります

public Users_AdditionalInfo GetUserName(string userCode)
{
using (var db = new DataClasses1DataContext())
{
var userName = db.Users_AdditionalInfos.Where(user => user.UserCode.Equals(userCode)).SingleOrDefault();
return userName; 
}

}

Session variablesがやろうとしていることは大丈夫ですか?

これを達成するために多くの人が行っている他の方法は何ですか?

どんな提案でも大歓迎です。

4

4 に答える 4

1

MVCではなく、ASP.NETに言及しているだけです。MVCを使用していますか?

そうでない場合は、Literal内部にコントロールを配置<li>して、ページの読み込み時にそれを入力してみませんか

aspx では次のようになります。

<li><a href ="#"><asp:Literal ID="lt_name" EnableViewState="false" 
 runat="server" Text=""></asp:Literal></a> 

ページの読み込みでは、次のことを行います。

var userName = userBLL.GetUserName(HttpContext.Current.User.Identity.Name);  

lt_name.text = userName.Firstname + " " + username.Lastname;
于 2012-07-27T08:06:59.550 に答える
1

コードビハインド クラスで

public string UserFName = "";
public string UserMName = "";

割り当てる場所の背後にあるコード:

//Call the function which returns User's Name
var userName = userBLL.GetUserName(HttpContext.Current.User.Identity.Name);
if (userName != null)
{
this.UserFName = userName.FirstName;
this.UserMName = userName.MiddleName; 
}

そして最後に aspx コードで:

<li><a href="#"><%=UserFName%>&nbsp;<%=UserMName%>&#9660;</a>

ユーザー名に特殊な html 文字が許可されている場合は、そのように出力する前にそれらの文字をエスケープする必要があることに注意してください。

于 2012-07-27T08:07:25.467 に答える
1

メニューのあるページだけで値が必要なので、ViewStateで試すことができます(別のページでは必要ありません)

ViewState["UserFName"] = userName.FirstName;
ViewState["UserMName"] = userName.MiddleName; 

Or with InputHidden
于 2012-07-27T08:01:59.060 に答える
0

aspxページまたはサイトマスターページに、次のようなラベルを1つ配置するだけです。

    <asp:Label ID="lblLoggedUser" runat="server" Font-Names="Verdana" Enabled="false"
                        ForeColor="Blue" Font-Size="13px"></asp:Label>

このようにログインページからログインユーザー値セッションを取得します。

Session["USER"] =txtusername.text;

およびsitemaster.csページのpage_load

 lblLoggedUser.text= Session["USER"].tostring(); 
于 2012-07-27T08:32:04.807 に答える