c# - 从 _layout.cshtml 中的数据库加载数据

标签 c# asp.net asp.net-mvc asp.net-mvc-4

我正在使用 ASP.NET MVC 4 创建一个 Web 应用程序。

我想在所有页面上显示用户的昵称,因此我必须将其加载到_layout.cshtml中。

请注意,我正在手动存储用户的昵称。 (在我自己的数据库和我自己的表中。)

我可以通过Membership.GetUser().UserName添加用户的用户名,但我想从数据库加载他的昵称并将其显示在_layout.cshtml中。

如何做到这一点?

最佳答案

让我为您提供一个简单的解决方案: 在 Controller 中编写一个操作(我的是 CommonController):

    public ActionResult NickName()
    {
        SqlConnection cn = new SqlConnection(cnstr);
        SqlCommand cmd = new SqlCommand(cmdStr, cn);
        cn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        string nickName = string.Empty;

        while (dr.Read())
        {
            nickName = dr["nick_Name"].ToString();
        }

        dr.close()
        return Content(nickName);
    }

将以下行放在 _Layout 中您想要的任何位置:

         nickname = @{Html.RenderAction("NickName", "Common");}

完成!

感谢@SergRogovtsev 的推荐:

       nickname = @Html.Action("NickName", "Common")

首先询问: 您使用 Entity Framework 吗? 您可以使用 EF 或 ADO 在 _Layout 中使用分部 View 。 如果您的意思是无法使用 Entity Framework 访问 aspnet_membership 表,您应该以其他方式提出您的问题!

通过提供一些代码示例,让我更多地了解您的问题。

关于c# - 从 _layout.cshtml 中的数据库加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11808254/

相关文章:

c# - 将 RadioButtons 绑定(bind)到单个属性?

c# - C#中的拍手声音检测

c# - 我如何在 C# 中显示来自 url 内容的小图像

c# - 如何使用 asp.net mvc webapi 发送电子邮件附件

asp.net-mvc - Ninject 返回对象的特定实例

c# - C++/CLI 获取 "wrapper"类对象以显示在 C# 中

c# - 如何将对象转换为泛型

asp.net - 如何防止开放重定向攻击?

asp.net - 创建 RSA key 容器有时有效有时无效

css - MVC 3、Divs 和 CSS id 问题