2013-06-20 66 views
4

我在我的应用程序布局的应用程序中使用twitter引导程序包。 我主要使用_BootstrapLayout.basic.cshtml作为我的默认布局。MVC在导航栏中显示登录用户的名字

@using System.Web.Optimization 
@using BootstrapSupport 
@using NavigationRoutes 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>@ViewBag.Title</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
     <link href="@Styles.Url("~/content/css")" rel="stylesheet"/> 
     @RenderSection("head", required: false) 
     @RenderSection("jtable", required:false) 
     @Html.Partial("_html5shiv") 
     @* favicons and touch icons go here *@ 
    </head> 
    <body> 
     <div class="navbar navbar-inverse navbar-fixed-top"> 
      <div class="navbar-inner"> 
       <div class="container"> 
        <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </a> 
        <a class="brand" href="#" title="change in _bootstrapLayout.basic.cshtml">Sorama</a> 
        <div class="nav-collapse collapse"> 
         <ul class="nav"> 
          @Html.Navigation() 
         </ul> 
        </div> 
       </div> 
      </div> 
     </div>   
     <div class="container"> 
      @Html.Partial("_alerts") 
      @Html.Partial("_validationSummary") 
      @RenderBody() 
      <hr> 
      <footer> 
       <p>&copy; Sorama @System.DateTime.Now.ToString("yyyy")</p> 
      </footer> 
     </div> 
     @Scripts.Render("~/js") 
     @RenderSection("Scripts", required: false) 
    </body> 
</html> 

这给了我与导航栏 enter image description here

页我怎样才能显示欢迎信息,以登录用户在导航栏的右下角?像欢迎ABC一样!和一些注销选项的一面? 我唯一知道的是我可以从User.Identity.Name获得当前用户的名字,但我不知道如何使它出现在菜单栏上。 我找不到可以帮助我的东西,所以我想可能是我可以在这里得到它。

编辑:鉴于 添加后@User.Identity.Name我上面提到的代码添加后<ul>标签与@html.navigation ,这就是我得到 enter image description here

我拿到菜单栏上的欢迎演示(旁边的简介,很难看到),但它没有像我预期的那样。 Bootstrap提供的DefaultRouteConfig可以做些什么吗?

public class LayoutsRouteConfig 
    { 
     public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.MapNavigationRoute<ModuleController>("Module", c => c.Index()); 
      routes.MapNavigationRoute<AccountController>("Hardware", c => c.Login()); 
      routes.MapNavigationRoute<LayoutsController>("Profile", c => c.Starter()) 
        .AddChildRoute<LayoutsController>("Change Password", c => c.Marketing()) 
        .AddChildRoute<AccountController>("Add User", c => c.Register()) 
        .AddChildRoute<LayoutsController>("Logout", c => c.SignIn()) 
       ; 

     } 
    } 
+0

什么你到目前为止尝试过吗?你更有可能得到一个具体问题的答案,而不是问“告诉我如何做X”。 – Rob

+0

我知道我可以从User.Identity.Name获取当前用户的名字,但我不知道如何在右侧的菜单栏中显示它。我的想法在这个实现中处于空白状态。 – Cybercop

+1

你有多少关于twitter bootstrap的知识?看看@ Html.Navigation剃刀扩展。 – gdp

回答

6

在包含nav的div元素之后,只需添加另一个div元素并将用户名放在那里。

喜欢的东西:

<div>@User.Identity.Name</div> 

ul标签的样式为引导的导航因此,创建一个

<li> <a href="#"> @User.Identity.Name</a></li> 

应该OK,你可以用动作链接到用户的管理,而不是#

+0

我已经完成你提到的。我已经将结果发布为编辑。工程,但不是预期的。看起来很有趣:) – Cybercop

+0

你需要添加样式来使它看起来如何。你如何知道bootstrap,CSS等......可能值得寻找一些引导示例。因为我们并不确切知道你在努力达成什么样的难题来回答样式问题。也许添加一个你正在获得什么和你想要达到什么的屏幕截图。 –

相关问题