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

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 投票
5 回答
35542 浏览

asp.net-mvc - Actionresult vs JSONresult

我有两个问题:

  1. JSONResult 和 ActionResult 有什么区别?

  2. 什么时候在 MVC 中使用 JSONResult?

0 投票
1 回答
5935 浏览

c# - ASP.Net MVC4 自定义路由

我目前正在尝试弄清楚如何更改我的博客的 url 规则。

现在 URL 是 /Blog/Details/1 但我读到制作 URL 是一种更好的 SEO 做法/Blog/Details/Post-Title。我在我的博客数据库中创建了一个名为 FriendlyUrl 的额外字段,当我创建博客条目时,我用破折号 (-) 替换空格,但现在我不知道如何让我的应用程序正常工作。

有人告诉我查看我的 global.asx.cs,但这就是我的样子。

这是我的控制器代码以获取详细信息

这是当前用于链接到博客条目的链接。

提前感谢您的帮助。

0 投票
1 回答
3912 浏览

asp.net - Razor Generator:这是准确的吗?

我最近询问了我目前工作地点的前首席开发人员,为什么他选择使用Razor 生成器将我们的视图预编译到单独的程序集中。

他在下面提出了一些声明,但我似乎无法在网络上找到任何Razor Generator配置文件和/或指标来支持该声明(快 10-100 倍),和/或,如果IIS7/ASP.NET确实如此关于预编译与运行时编译的视图的幕后以及它们的好处或缺乏。

谁能指出我正确的方向?还是评论?

在我看来(就启动时间而言)只需为站点设置 IIS就可以平衡使用Razor Generatorautostart = true进行预编译的任何好处。以下是他的声明:

为什么我们使用 Razor 生成器来预编译我们的视图以及为什么将它们放在单独的程序集中?

第一个是简单的编译时错误检查。有了这么多视图,这似乎是避免生产错误的好方法。不得不重新编译才能看到我承认的观点的变化有点令人沮丧,但(在我看来)知道你有更多的错误检查是完全值得的。

第二个是当视图没有在项目中编译时,它们会在运行时编译,然后那些编译的表示必须存储在 ram 中。有时,如果不定期访问它们(大多数视图都是这种情况,因为有这么多),那些存储的编译版本会被丢弃并收集垃圾以节省内存。因此,除了像 gaf.com 这样的网站中最常访问的视图之外,所有视图最终都会在每次访问时重新编译。但是如果你把它们放在一个项目中,编译的版本只需要从 dll 加载,如果它还没有在内存中(是的,代码也可以被垃圾收集,但不那么频繁)。从 dll 加载它的速度要快 10 到 100 倍(这是来自 Razor Generator 项目的站点 - 我自己没有验证它,但听起来很合理)。

0 投票
3 回答
16455 浏览

c# - 在 ASP.NET MVC 中,我认为最好的显示未处理异常是什么?

我的 web.config 中有以下内容:

我有一个

在我的 HomeController 类的顶部。为了测试,我创建了一个简单地抛出异常的动作。. 它重定向到我的

方法,但是当它到达绑定到 HandleErrorInfo 的视图时,我的模型为空,所以我不知何故丢失了对错误的引用。

我确信它与错误在重定向中丢失有关,所以我想看看我是否遗漏了一些东西,以及是否有人建议我可以查看显示 Stacktrace 和错误消息的视图。

0 投票
2 回答
15902 浏览

c# - 验证失败时如何检查 EntityValidationErrors?

当我尝试在 MVC 4 数据库第一个项目中编辑属性时收到此消息。我正在使用 MVC 默认编辑页面。

“一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。”

我在哪里检查验证?

0 投票
4 回答
14034 浏览

asp.net-mvc - TypeScript 捆绑和缩小?

假设我有两个文件

文件.ts

ZFile.ts

有没有办法按照它需要的顺序在单个js文件中生成所有脚本(需要ZFileAFile获得定义之前Z)?

0 投票
3 回答
2264 浏览

asp.net-mvc-5 - 如何配置用户上下文/表?

随着新的 ASP.NET MVC 5 预览版的发布,如何配置用户上下文/表?

在 MVC 4 中,我将只使用我自己的 User 类,然后将 WebSecurity 初始化指向它,如下所示:

我希望向 Users 类添加其他属性 - 如何?

0 投票
1 回答
9121 浏览

asp.net-mvc-5 - 在 MVC5 中更新 Microsoft.Aspnet.Identity 后的编译器错误

使用 Vs2013 预览版,我创建了 ac# webapp,从对话框中选择 MVC 和 WebAPI。它编译好了。如果我将 nuget 包管理器中的引用更新到 beta2 版本(包括预发行版),则它无法编译。我收到 21 个错误,位于 AccountController.cs 和 IdentityConfig.cs。我尝试更新到最新的夜间库,它给出了相同的错误。欣赏预览代码就是这样,所以从模板重新开始。想知道是否有人知道我可以避免更新哪个参考。

错误 1 ​​以下方法或属性之间的调用不明确:“Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)”和“Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal .IIdentity)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 115 29 vs2013bootstrap 错误2 调用在以下方法或属性之间不明确:'Microsoft.AspNet.Identity .IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)' 和 'Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 138 64 vs2013bootstrap 错误 3 调用在以下方法或属性之间不明确:'Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System .Security.Principal.IIdentity)' 和 'Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\ AccountController.cs 151 29 vs2013bootstrap 错误 4 以下方法或属性之间的调用不明确:“Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)”和“Microsoft.AspNet.Identity.IdentityExtensions。GetUserId(System.Security.Principal.IIdentity)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 152 64 vs2013bootstrap 错误5 调用在以下方法或属性之间不明确:“Microsoft.AspNet.Identity.IdentityExtensions.GetUserName(System.Security.Principal.IIdentity)”和“Microsoft.AspNet.Identity.IdentityExtensions.GetUserName(System.Security.Principal.IIdentity)”C:\Users\Administrator\Documents \Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 185 41 vs2013bootstrap 错误 6 以下方法或属性之间的调用不明确:'Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity )'和 'Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 249 52 vs2013bootstrap 错误 7以下方法或属性之间的调用不明确:“Microsoft.AspNet.Identity.IdentityExtensions.FindFirstValue(System.Security.Claims.ClaimsIdentity, string)”和“Microsoft.AspNet.Identity.IdentityExtensions.FindFirstValue(System.Security.Claims) .ClaimsIdentity, string)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 286 86 vs2013bootstrap 错误8 调用在以下方法或属性之间不明确:'Microsoft.AspNet .Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)' 和 'Microsoft.AspNet.Identity.IdentityExtensions.GetUserId(System.Security.Principal.IIdentity)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects \vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 338 61 vs2013bootstrap 错误 9“Microsoft.AspNet.Identity.IUserSecretStore”不包含“UpdateSecret”的定义,并且找不到接受“Microsoft.AspNet.Identity.IUserSecretStore”类型的第一个参数的扩展方法“UpdateSecret”(您是否缺少使用指令或程序集引用?) C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\Controllers\AccountController.cs 376 57 vs2013bootstrap 错误 10 找不到元数据文件 'C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\bin\vs2013bootstrap.dll' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap \vs2013bootstrap.Tests\CSC vs2013bootstrap.Tests 错误 11 找不到类型或命名空间名称“DbContextFactory”(您是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Documents\Visual Studio 2013\Projects \vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 32 40 vs2013bootstrap 错误 12 'UserSecret' 是 'Microsoft.AspNet.Identity.EntityFramework.UserSecret' 和 'vs2013bootstrap.Models.UserSecret' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 33 45 vs2013bootstrap 错误 13 找不到类型或命名空间名称“EFUserSecretStore”(您是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 33 27 vs2013bootstrap 错误 14 'UserLogin' 是 'Microsoft.AspNet.Identity.EntityFramework.UserLogin' 之间的模糊引用和 'vs2013bootstrap.Models.UserLogin' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 34 43 vs2013bootstrap 错误 15 类型或命名空间名称 'EFUserLoginStore'找不到(您是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 34 26 vs2013bootstrap 错误 16 'User' 是'Microsoft.AspNet.Identity.EntityFramework.User' 和 'vs2013bootstrap.Models.User' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 35 37 vs2013bootstrap 之间的模糊引用错误 17 找不到类型或命名空间名称“EFUserStore”(您是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig。 cs 35 25 vs2013bootstrap 错误 18 'Role' 是 'Microsoft.AspNet.Identity.EntityFramework.Role' 和 'vs2013bootstrap.Models.Role' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 之间的模糊引用36 37 vs2013bootstrap 错误 19 'UserRole' 是 'Microsoft.AspNet.Identity.EntityFramework.UserRole' 和 'vs2013bootstrap.Models.UserRole' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap 之间的模糊引用\App_Start\IdentityConfig.cs 36 43 vs2013bootstrap 错误 20 找不到类型或命名空间名称“EFRoleStore”(您是否缺少 using 指令或程序集引用?) C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig.cs 36 25 vs2013bootstrap 错误 21 调用在以下方法或属性之间不明确:'Microsoft.AspNet.Identity.IdentityExtensions.FindFirstValue(System .Security.Claims.ClaimsIdentity, string)' 和 'Microsoft.AspNet.Identity.IdentityExtensions.FindFirstValue(System.Security.Claims.ClaimsIdentity, string)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\ vs2013bootstrap\App_Start\IdentityConfig.cs 95 24 vs2013bootstrapClaimsIdentity, string)' 和 'Microsoft.AspNet.Identity.IdentityExtensions.FindFirstValue(System.Security.Claims.ClaimsIdentity, string)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig .cs 95 24 vs2013bootstrapClaimsIdentity, string)' 和 'Microsoft.AspNet.Identity.IdentityExtensions.FindFirstValue(System.Security.Claims.ClaimsIdentity, string)' C:\Users\Administrator\Documents\Visual Studio 2013\Projects\vs2013bootstrap\vs2013bootstrap\App_Start\IdentityConfig .cs 95 24 vs2013bootstrap

更新 如果我从头开始使用相同的模板,并将 MVC 和 WEBAPI 库更新为 5.0.0-beta2(或 Razor 的情况下为 3.0.3-beta2)。然后我的应用程序仍然可以编译。我没有应用的更新都是那些都标有 1.1.0-beta2 并以 Microsoft.Owin.Security 开头的更新

UPDATE2 如果我然后添加所有 Owin 安全引用,它仍然可以编译。离开两个图书馆

  • Microsoft.Aspnet.Identity.Core 目前为 1.0.0-Alpha1(更新为 1.0.0-Beta1)
  • Microsoft.AspNet.Identity.EntityFramework 当前为 1.0.0-Alpha1(更新 1.0.0-beta1)。

如果我更新第一个库,我会得到上述粗体错误,如果我再更新第二个库,我会得到所有其他错误。

因此,这些更新似乎与其他 beta 更新不兼容。

0 投票
4 回答
37669 浏览

asp.net-mvc - 从 MVC4 升级到 MVC5

通过更新我的参考文献中的剃须刀和 mvc 网页,我犯了从 MVC4 升级到 MVC5 预发行版的可怕错误,我有,System.Web.Mvc和版本v4.0.30319,当我运行我的应用程序时,我得到System.Web.WebpagesSystem.Web.Webpages.RazorSystem.Web.Razor

这和http://www.asp.net/whitepapers/mvc4-release-notes一样吗

谢谢

添加堆栈跟踪:

0 投票
1 回答
1039 浏览

c# - 在可为空的导航属性上尝试 $expand 时出错

我正在使用最新的 ASP.NET 每晚构建。在我的 REST API(基于 EntitySetController)上,当我尝试 $expand 数据库中为空的导航属性时,我收到以下错误:

休息电话 Im macking 是:

仅当数据库中存在不存在“ContentTemplateGroup”的“ContentTemplate”实例(空 FK)时才会发生这种情况。对于具有 ContentTemplateGroup 的 ContentTemplates,$expand 可以正常工作。我的实体如下所示:

当我尝试使用集合扩展导航属性时,我没有收到此错误。以下作品就像一个魅力:

更新:在使实体主键可以为空(int?)之前,对于相同的问题上下文,我遇到了不同的错误。错误是: