在 MVC Web 应用程序中访问 profile.newproperty

2024-03-18

我最近问了这个问题如何保留匿名用户选择(例如:主题选择) https://stackoverflow.com/questions/11706349/how-to-persist-anon-user-selection-ex-theme-selection。并开始了解 ASP.NET 配置文件及其在 Web 配置中的属性。我尝试了链接中的答案,但无法访问 profile.newproperty

如何分配Profile值? https://stackoverflow.com/questions/426609/how-to-assign-profile-values此问题指定 Web 应用程序不支持开箱即用的配置文件,并且必须创建基于 ProfileBase 的自定义模型。这个问题在2009年就得到了回答,我想知道现在是否仍然是同样的情况。

在 ASP.NET 4.0 Web 应用程序中,我可以使用在 web.config 部分中定义的属性来访问 profile.newproperty,而无需编写 C# 代码(访问它时除外)。


我刚刚看到你的问题,是的,你是对的,我发布的答案与网站相关,因此它不适用于 Web 应用程序或 MVC

在这里,我将向您展示使用匿名和经过身份验证的用户配置文件在 MVC 中处理配置文件的代码

Output

匿名用户 - 尚未设置个人资料

匿名用户-配置文件集

经过身份验证的用户 - 配置文件已迁移

网页配置

<anonymousIdentification enabled="true"/>
<profile inherits="ProfileInWebApplicationMVC1.UserProfile">
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
  </providers>
</profile>

用户配置文件类

public class UserProfile : ProfileBase
{
    public static UserProfile GetProfile()
    {
        return HttpContext.Current.Profile as UserProfile;
    }

    [SettingsAllowAnonymous(true)]
    public DateTime? LastVisit
    {
        get { return base["LastVisit"] as DateTime?; }
        set { base["LastVisit"] = value; }
    }

    public static UserProfile GetProfile(string userID)
    {
        return ProfileBase.Create(userID) as UserProfile;
    }
}

家庭控制器

    public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";

        var p = UserProfile.GetProfile();

        return View(p.LastVisit);
    }

    [HttpPost]
    public ActionResult SaveProfile()
    {
        var p = UserProfile.GetProfile();

        p.LastVisit = DateTime.Now;
        p.Save();

        return RedirectToAction("Index");
    }

索引视图

@if (!this.Model.HasValue)
{
    @: No profile detected
}
else
{
    @this.Model.Value.ToString()
}

@using (Html.BeginForm("SaveProfile", "Home"))
{
    <input type="submit" name="name" value="Save profile" />
}

最后,当你是匿名用户时你可以拥有自己的个人资料但是,一旦您注册到该网站,您需要migrate您当前的个人资料将用于您的新帐户。这是因为 ASP.Net 成员资格会在用户登录时创建新的配置文件

Global.asax,迁移配置文件的代码

    public void Profile_OnMigrateAnonymous(object sender, ProfileMigrateEventArgs args)
    {
        var anonymousProfile = UserProfile.GetProfile(args.AnonymousID);
        var f = UserProfile.GetProfile(); // current logged in user profile

        if (anonymousProfile.LastVisit.HasValue)
        {
            f.LastVisit = anonymousProfile.LastVisit;
            f.Save();
        }

        ProfileManager.DeleteProfile(args.AnonymousID);
        AnonymousIdentificationModule.ClearAnonymousIdentifier();
        Membership.DeleteUser(args.AnonymousID, true);
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MVC Web 应用程序中访问 profile.newproperty 的相关文章

  • MVC 下拉列表未映射到模型

    我正在尝试使用 EF codefirst 在 MVC 3 中开发应用程序 当我使用 int 属性和约定来设置外键关系时 例如 public class Patient public int ConsultantId get set 然后 我
  • ASP.NET Core/MVC 6 ViewModel 中的依赖注入 (DI)

    我使用构造函数注入在控制器中成功使用了 ASP NET 5 MVC 6 DI 我现在有一个场景 我希望我的视图模型在实现 IValidatableObject 时在 Validate 方法中使用服务 ViewModel 中的构造函数注入不起
  • 尝试通过安全透明方法 xxx 访问安全关键 yy

    我刚刚开始学习 ASP NET MVC 并遵循 ASP NET MVC 教程 我正在使用 Visual Studio Express 2013 RC for Web 认为这可能是我的问题的原因 因为分页教程是使用 VS2012 编写的 一切
  • ASP.NET MVC 控制器无法使用流内容正确返回 HttpResponseMessage

    正如标题所示 我没有让 MVC 控制器正确返回 HttpResponseMessage HttpGet AllowAnonymous public HttpResponseMessage GetDataAsJsonStream object
  • JQuery - 使用 JSON 的属性创建输入

    我正在尝试使用 JSON 设置的 id 和 value 属性创建一个输入 我有一个获取 JSON 的 ajax 调用 返回的数据很好 对于 JSON 中的每个对象 我想创建一个带有 ID 和 JSON 值的按钮 阿贾克斯调用 ajax ty
  • 如何在 ASP.NET MVC 中手动设置用户角色?

    我正在从事的这个项目要求我保留管理员用户的本地数据库 并为普通用户使用外部数据库 在管理数据库中通过身份验证的任何人都应被分配 管理员 角色 而通过其他数据库进行身份验证的任何人将始终被分配 用户 角色 我可以手动分配这些角色吗 我不需要角
  • 具有 ASP.NET Identity 的 MVC 5 - 用户登录时获取声明

    我正在使用 OWIN 2 0 在登录用户后 我想从数据库中检索现有的声明 但如果我尝试获取用户的声明 它们将为空 如果我将相同的代码放入任何被调用的后续控制器中 那么声明就在那里 似乎只有在首次登录后的下一个请求之前 这些声明才可用 为什么
  • 身份服务器刷新令牌资源所有者密码凭证流程

    我正在使用 IdentityServer 来控制对 API 的访问 我有一个单独的身份验证 API 它发出令牌并验证访问请求以确保 API 的安全 我让用户能够通过安全的 Web 应用程序生成访问令牌 我正在使用资源所有者密码凭证流程 有没
  • 具有实体框架的 MVC 控制器的 T4 模板 - 主机的成员属性 (MvcTextTemplateHost)?

    有谁有我可以在 MVC 3 附带的 T4 模板 ControllerWithContext tt 中使用的 Host 对象成员的完整引用吗 我已经尝试了我能想到的所有谷歌搜索 但唯一相关的结果是这个页面 http blogs msdn co
  • 为什么自定义类型变量不保存值MVC

    我正在尝试使用 MVC 5 构建一个网站 我有一个包含 3 个变量的控制器类 public class WorkerController Controller public ViewModel viewModel new ViewModel
  • MVC 项目中的 .Rdlc 报告 - 托管调试助手“PInvokeStackImbalance”

    我即将完成并运行我的上一份报告 我在其他报告中没有遇到过这个问题 我正在尝试根据数据库记录创建报告 当我通过 LocalReport 创建报告并为报告创建参数时 收到错误消息 托管调试助手 PInvokeStackImbalance 调用
  • 在 Android 上禁用标注(上下文菜单)

    在网络应用程序中 我需要禁用移动浏览器在触摸并按住 长按 触摸目标 例如 img 或链接 我已经在使用了 webkit touch callout none 它在 iPhone 和 iPad 上运行良好 但似乎不适用于 Android 在
  • 构建 ViewModel 的合适粒度是多少?

    我正在开发一个新项目 在看到以前项目的一些困难后 这些项目没有提供足够的视图与模型的分离 特别是使用 MVC 模型和视图开始有点相互渗透 我想使用 MVVM 我了解基本概念 并且很高兴开始使用它 然而 有一件事我有点忽略 ViewModel
  • 临时目录中自动生成的“App_Web********.cs”文件导致构建错误

    因此 这已经困扰我一段时间了 但有时在我的 Visual Studio 2013 ASP NET MVC4 项目中 我会删除未使用的 ViewModel 类 并在下一次编译时收到如下错误 对于名为 我刚刚删除的 MostRecentMemb
  • 如何强制 Visual Studio 2008 生成 Designer.cs,例如不管怎样.aspx.designer.cs

    我在使用 Visual Studio 2005 使用网站技术生成的 Asp Net V2 0 中有一些 Web 表单 想要将它们导入到设置为 v3 5 Asp Net MVC 的 Visual Studio 2008 我在其中使用项目技术
  • ASP.NET MVC,控制器可以改变提交的值吗?

    ASP NET MVC 中是否允许更改提交的值 HttpPost public ActionResult Create Person toCreate toCreate Lastname toCreate Lastname A return
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • 无法将 MVC 4 部署到服务器

    我的 Web 应用程序只是一个用 VS 2010 MVC 4 制作的简单 Web 应用程序 没有任何外部代码 它只是 VS 2010 的默认应用程序 我有 Plesk 的豪华 Windows 托管 我从未更改过帐户中的任何功能 我将所有文件
  • JQuery Mobile 与 MVC 的链接

    我正在使用 ASP NET MVC 3 和 Razor UI 设置 JQuery 移动网站 我正在生成我的链接 例如 a href See Group 2 a 假设我从 Home Index 访问它 我遇到的问题是 当我点击链接时 它会出现
  • 表单身份验证 MVC4

    我正在尝试使用 MVC4 网站进行简单的表单身份验证设置 在App start FilterConfig cs中 public static void RegisterGlobalFilters GlobalFilterCollection

随机推荐

  • javascript regex - 寻找替代方案背后的内容?

    这是一个在大多数正则表达式实现中都可以正常工作的正则表达式
  • 如何使用Bitbucket作为maven远程仓库?

    我们计划使用 bitbucket 作为源代码存储库以及基于 Maven 的项目的远程存储库 我在 bitbucket 上创建了一个存储库 如下所示 https bitbucket org mycompany maven repository
  • matlab - 访问特定工作区中的变量

    我需要类似的东西evalin 但是原来的evalinMatlab 不能递归使用 例如 我有函数 f0 它调用另外 2 个函数 f11 和 f12 function f0 v1 v2 deal 1 1 f11 f12 disp v1 end
  • 错误:在插件“@sanity/base”中找不到“sanity.json”文件

    我是 sanity 新手 并试图按照 youtube 上的教程进行操作 但当我运行 sanity start 时 我收到此错误 谁能给我建议我应该做什么 理智错误 https i stack imgur com c7UnF png 就我而言
  • 如何将 Class 文件的功能链接到 DocumentClass 和 AS3 中的 Movieclips?

    我在从时间轴代码切换到 OOP 文档类时遇到问题 我成功地用 AS3 按时构建了 Fla 没有任何问题 但在面向对象编程时完全无能为力 有人告诉我场景不好 我应该坚持将场景保存为影片剪辑 我的情况是这样的 我有 8 页 PSD 文件 我将每
  • 两个数据集或数组之间的相似性

    假设我有一个如下所示的数据集 A 1 B 3 C 6 D 6 我还有其他集合的列表来比较我的特定集合 A 1 B 3 C 6 D 6 A 2 B 3 C 6 D 6 A 99 B 3 C 6 D 6 A 5 B 1 C 6 D 9 A 4
  • 为什么默认情况下允许进程外服务器“本地启动”,但不允许“本地激活”?

    我当前需要创建一个 COM 对象 该对象由 ASP NET 处理程序内部的进程外 COM 服务器提供服务 因此 每次部署 COM 服务器时 我都必须启动 DCOM Config 并更改安全设置 具体来说 我需要确保本地用户 ASPNET 允
  • Python:无法将浮点 NaN 转换为整数

    我应用返回浮动的移动平均逻辑 我先将该 float 转换为 int 然后再使用它在 OpenCV 中绘制线条 但出现以下错误 ValueError cannot convert float NaN to integer 示例代码 def m
  • API 设计:公开 XML 或对象 #2

    我最近问了这个问题 公开 XML 或对象 https stackoverflow com questions 368521 api design expose xml or objects 感谢大家的回复 有一点需要澄清 API 始终可以远
  • 如何在 PostgreSQL 中以事务方式插入 max(order_field) + 1 行

    我需要在 PostgreSQL 表中插入一行 其中有一列包含表行子集上同一列的最大值 1 该列用于对该子集中的行进行排序 我正在尝试更新插入后触发器中的列值 但我在不同行中获取该列的重复值 在短时间内进行大量插入的并发环境中 避免子集中排序
  • 如何从 SSL 证书中提取密钥?

    我有一个在以下网站购买的 SSL 证书 pem crt der格式 我想知道如何从证书中获取密钥文件 有什么办法可以做到这一点吗 您可以提取公钥 这的用处有限 也许您将在其他不使用证书的工具 例如 SSH 或 PGP 中使用相同的密钥 使用
  • JTable 的 ScrollPane 行为异常

    我有一个JPanel组件与JTable在它里面 当我运行下面编写的代码时 表格会正确呈现和更新 一旦我尝试使用scrollPane方法 该表根本不呈现 谁能向我解释这是为什么 private static class GameHistory
  • Java中有没有内置的方法来增加字体大小?

    Java中有没有内置的方法来增加字体大小 The Font http java sun com javase 6 docs api java awt Font html类允许您指定字体大小 因此 要创建字体 您可以执行以下操作 Font f
  • 当行突出显示时设置 cellrenderertext 前景色

    当我有一个gtk CellRendererText 我可以关联它的foreground用树存储的一列着色 并设置foreground set属性设置为 True 以更改该列中文本的颜色 但是 当选择具有彩色列的行时 其颜色会消失 并且与任何
  • getContext().getSystemService 错误

    所以我只是想在我的 getView 函数中膨胀一个视图 而 getContext 由于某种原因说它是未定义的 package com MTSUAndroid import com MTSUAndroid Alarm Settings Eff
  • 是否有类似于 C sscanf 的 VB6 函数?

    我正在尝试读取由以下形式的文本行组成的文件 first value 1352 2 second value 12 third value 32323 first value 1233 2 second value 22 third valu
  • 关闭 Numba 中的列表反射

    我正在尝试使用 Numba 加速我的代码 我传递给函数的参数之一是可变列表列表 当我尝试更改子列表之一时 出现此错误 在 nopython 模式管道中失败 步骤 nopython 模式后端 无法反映反射容器的元素 反射列表 反射列表 int
  • 在 TFS API 中,如何获取给定测试的完整类名?

    我有一个ITestCaseResult http msdn microsoft com en us library microsoft teamfoundation testmanagement client itestcaseresult
  • postgresql 多个子查询

    我手头有一项任务 要求我返回一个学生的详细信息 该学生参加了一位姓霍夫曼的老师所教的课程 但我陷入了困境 SELECT FROM Public Class WHERE tid SELECT tid FROM Public Tutor WHE
  • 在 MVC Web 应用程序中访问 profile.newproperty

    我最近问了这个问题如何保留匿名用户选择 例如 主题选择 https stackoverflow com questions 11706349 how to persist anon user selection ex theme selec