问题标签 [asp.net-mvc-5.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
801 浏览

c# - MVC 5 - 多个入口点?

VS 2013 中的标准 Mvc Web 应用程序模板有:

在 Startup.cs 中:

以及在 Global.asax.cs 中:

请问执行的顺序是什么,是否有保证?

0 投票
1 回答
1192 浏览

asp.net-mvc-5.1 - 刺激软件 MVC 5

using 指令找不到 Stimulsoft 程序集。

当我将嵌入互操作类型属性设置为 true 时,可以找到程序集,但在编译时出现以下错误:

我引用了以下程序集:

  • Stimulsoft.Base
  • 刺激软件报告
  • Stimulsoft.Report.Mvc

我缺少参考吗?

我正在使用 MVC5.1

问候

0 投票
1 回答
393 浏览

c# - 哈希 url 未转换

我正在尝试重定向我的路线,但我不知道为什么“#”转换为“%23”

有什么办法可以解决这个 url 哈希不转换的问题吗?帮我。这是我的代码

%23信息

0 投票
1 回答
1474 浏览

asp.net-mvc - MVC 5.1 我应该为 MVC 5.1 安装引导程序吗

我安装了 VS 2013 Express for Web 并开始创建 MVC 5 项目。

在 MVC 5 中,默认应用引导程序(我在包文件夹中看到引导程序 3.0.0)并且我更新到 MVC 5.1 以获得引导程序兼容性(我只能在 MVC 5.1 中为 @Html.EditorFor 应用 css 以便我决定将 MVC 5 更新为 MVC 5.1)。

有用于 MVC 5.1 包的 Bootstrap,但是如果在我们第一次创建 ASP.NET MVC 5 项目时默认情况下已经应用了 Bootstrap 3.0.0,我应该安装 MVC 5.1 包的 Bootstrap 吗?为什么?安装这个包有什么好处?

0 投票
1 回答
686 浏览

ef-code-first - 使用 EF6 和身份提供程序安全地存储列数据

我需要将一些信息存储在加密的数据库中(不是散列,我在这里不是在谈论密码),但仍然能够在内存中读取该信息以验证某些场景(因此是加密,而不是散列)。

我想要一种简洁的方法来确定哪些列应该在数据库中加密存储,因为它们将来可能会改变。话虽如此,我想知道以下方法是否可以与 MVC5 和实体框架 6 中的 IdentityProvider 提供的 ApplicationDbContext 一起使用。有什么需要注意的警告吗?或者这甚至是一个很好的想法?如果没有,任何指导将不胜感激。

  • 为了定义列(代码优先),我创建了一个名为“StoreSecurelyAttribute”的属性,该属性可以应用于 Code-First 模型中的不同属性。
  • 然后,我可以将此属性应用于需要安全存储的任何列(目前仅支持字符串)。
  • 然后在我的 ApplicationDbContext 构造函数中添加以下内容:

更新:我知道这是很多反思,可能会很慢——但我们不会对加密和解密字段过于疯狂,我们加密的字段不会“在每个请求上”都被命中。

0 投票
1 回答
327 浏览

javascript - MVC5 Razor ValidationMessageFor 在隐藏的、未使用的 div 上触发

我有一个模型,它定义了一系列布尔项以及一系列StentProperties其他数据类型中的类型属性。[请注意,这些未按要求标记/注释]

我面临的问题是创建新记录时视图上的奇怪行为。仅当相应的布尔项为真(通过单选按钮)时才显示 -这些StentProperties都隐藏在 div 中。每当我单击Create. 除非我输入此特定元素的 @Html.ValidationMessageFor(model => model.DrugElutingBalloonProperties)信息,否则会触发并且不允许我发布。另一个StentProperties不触发验证......这让我一无所知。

想法?

0 投票
2 回答
2572 浏览

c# - 测试框架说实体没有为内置实体定义键

我正在尝试为我的 MVC 5.1 项目设置测试,该项目使用 EntityFramework 6.1 版、AspNet.Identity.Core 2.0 版、AspNet.Identity.EntityFramework 2.0 版。我唯一的测试用例非常简单,一旦我尝试运行,它就会出现上述“IdentityUserLogin”和实体类型“IdentityUserRole”的错误。问题是,据我了解,这两个实体都定义了键!因为它们是由框架提供的。我无法在我的代码第一部分明确看到它们的描述,但在数据库中我可以看到它们都有键。

在我的测试项目中,我使用 Microsoft.VisualStudio.TestTools.UnitTesting 和 Moq(以及 EF 和 Identity Core 库)。

任何帮助或只是指向资源将不胜感激。我找不到任何有类似错误的人。

0 投票
3 回答
2751 浏览

asp.net - Html.EnumDropDownListFor 不显示选中的属性值

在使用 MVC 5.1 中的新Html.EnumDropDownListFor扩展方法时,我遇到了一个问题,即所选值没有根据我传递给控制器​​操作的路由属性在下拉列表中更新。

看法

控制器动作

如果我导航到没有可选属性的路线,并且我Model.Environment在控制器操作中将属性设置为静态值,则所选值显示没有问题。

如果我传入一个有效的路由属性值,将其分配给Model.Environment属性,则下拉菜单不会在呈现时更新为属性值——即使我已经确认该属性确实具有默认枚举值以外的值.

0 投票
1 回答
765 浏览

asp.net - OWIN 次日拒绝身份验证 cookie

我有一个 ASP.NET MVC5 应用程序,其中包含为使用 OWIN 生成的启动配置。

用户登录到我的应用程序,保持浏览器打开,但如果他在第二天尝试访问它,应用程序会将用户重定向到登录页面。

我无法在我的开发人员机器上重现此问题,它只发生在我当前的共享主机提供商上。实际上它在我以前的提供商上正常工作。

应用程序池偶尔会重新启动,但根据我的经验,如果我手动进行回收,它不会导致令牌失效(据我所知,这应该是预期的行为)。

我尝试显式设置滑动过期并增加 cookie 有效性,但没有效果:

我正在使用 .NET Framework 4.5。我尝试将所有 NuGet 包更新到最新版本,但并没有解决问题。

我检查了发送的 cookie 的到期时间,它们是正确的,这应该不是问题。它发生在各种浏览器中。

0 投票
1 回答
1594 浏览

c# - 在 ASP.NET MVC5 Web 应用程序中向用户帐户添加声明的正确方法

我正在开发具有以下相关属性的 ASP.NET MVC5 Web 应用程序:

  • 使用 MVC5.1,Identity 2.0,不限于任何遗留的东西 - 可以使用最新的一切。
  • 一个用户至少属于一个组织。
  • 每个组织至少有一个用户是组织管理员。
  • 组织管理员可以授予用户特定权限,例如成为另一个组织管理员。
  • 据我了解,处理此问题的一个好方法是使用声明。

除了默认声明之外,用户通常还可以拥有以下声明:

组织:{some guid} 组织管理员:{与上述相同的 guid} 组织发布者:{再次相同的 guid}

可能有超级管理员,甚至超级用户,声称他们可以访问多个组织中的不同角色。

现在,让我们假设我是admin登录到我的管理面板的用户,并且我想向用户授予user我拥有 Organization-Admin 声明的组织的 Organization-Publisher 声明。

为简单起见,我有一个看起来像这样的模型对象:

出于本示例的目的,我们从admin用户那里获得以下值:

  • OrganizationId:admin拥有组织管理员声明的组织的 GUID。
  • 用户身份:user
  • 右:组织-发布者

关于这种做事方式,有很多事情让我回避了。假设我们有一个带有 GrantRight 操作的 OrgAdmin 控制器;

  • 控制器操作是否需要“手动”检查当前登录的用户(例如使用 ClaimsPrincipal.Current 找到)是否具有 GrantRightModel.OrganizationId 的 Organizaton-Admin 声明,或者这种事情是否有聪明的身份验证属性?

  • 在代码中添加 Organization-Publisher: {guid} 声明的正确方法是什么user?我的控制器将根据需要通过依赖注入获得 UserManager。

  • 如果user在发生这种情况时登录到应用程序,有没有办法让他从他的下一个请求开始自动获得正确的索赔?我已经看到提到的方法会导致用户退出,以便他再次登录并使用他的新声明开始新的会话。我明白为什么会这样,但考虑到用户可能正在处理需要花费大量时间的事情,当他尝试提交他的工作时让他退出可能并不受欢迎。

网上有一些关于这方面的信息,但我的 google-fu 未能找到能告诉我如何击败这三点的那个。

任何人?

谢谢!