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

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 投票
0 回答
328 浏览

asp.net - 在 MVC 5.2.2 中添加路由时的重大更改

我从旧的 ASP MVC 版本更新到 5.2.2

在我的代码中,我正在克隆现有的属性路由以支持本地化。

因此,如果我有一条像“/Hallo”这样的路线,那么对于英国文化来说,它就是“/Hello”。

我的代码看起来像这样

自从更新以来,当我尝试打开与此类路由相关的 url 时出现异常。它告诉我应该设置一个路由处理程序,所以我将代码更改为:

但是当我打开网址时我得到了 404

我也尝试使用

而不是直接添加相同的结果。

我究竟做错了什么?

我正在考虑尝试 IDirectRouteProvider 接口。有人可以告诉我这是否是更好的方法吗? http://msdn.microsoft.com/en-us/library/system.web.http.routing.idirectrouteprovider.getdirectroutes(v=vs.118).aspx

0 投票
2 回答
2639 浏览

c# - Routes.AppendTrailingSlash 排除一些路由

在 MVC 5.2.2 中,我可以设置Routes.AppendTrailingSlash为 true 以便将斜杠附加到 url。

但是我也有一个机器人控制器,它返回 robots.txt 的内容。

如何防止将斜杠附加到 robots.txt 路由并使其在没有尾部斜杠的情况下可调用?

我的控制器代码:

我的路线配置如下所示:

0 投票
1 回答
327 浏览

servicestack - ServiceStack 在进程之间共享会话

我有一个 ServiceStack 4 API 项目和一个 MVC 5 Web 项目,我希望他们共享用户的会话数据。

两个项目都已配置为使用相同的 Redis 实例作为缓存。

我的 MVC 控制器继承自 ServiceStackController。

会话是由 API 创建的(我可以看到返回的 cookie 并通过会话 id 查询对象的 Redis)。

我苦苦挣扎的地方是 MVC 项目如何知道会话 ID。最初我认为 JsonServiceClient 上的 ShareCookiesWithBrowser 可能会起作用,但似乎没有。

因此,我向 JsonServiceClient 添加了请求和响应过滤器,以将网站的 cookie 添加到 API 请求,并将 API 响应 cookie 添加到网站响应 cookie。这似乎在 API 调用和 Web 请求 ss-id 和 ss-pid cookie 匹配的意义上起作用,并且会话对象在 Redis 中可用。不幸的是,当我调用 MVC 控制器上的 UserSession 属性(来自 ServiceStackController 基础)时,会引发 NullReferenceException。

如果有人能让我知道我错过了什么或做错了什么,那将不胜感激。

更新

刚刚发现 ServiceStackController 上的 Cache 属性为空。我猜它通常是由 Funq 注入的属性,但我们使用的是 SimpleInjector 并避免了属性注入。

很高兴知道我是否必须通过 JsonServiceClient 手动来回传递 cookie。在像 ServiceStack 这样经过深思熟虑的事情上,它似乎有点老套——我仍然忍不住想我错过了一些东西。

谢谢,

史蒂夫。

0 投票
1 回答
150 浏览

visual-studio-2013 - VS2013 - 视图错误导致浏览器显示符号

使用vs2013创建一个MVC5.2 web app。我实际上正在使用新的 mvc 框架重建一个旧应用程序,所以这在 vs2010 和 MVC3 中运行良好。

在这个应用程序中,每当我有一些东西会在页面上触发错误(通常是剃刀语法,比如 @{Html.RenderPartial("mypartial", mymodel);}

在浏览器中查看时,我没有收到编译错误黄屏,而是得到一页符号: 编译错误符号

我创建了一个新的网络应用程序,但它没有在其中执行,它按预期显示错误。我假设这是由我通过 NuGet 检索/更新的内容引起的,但如果有人知道从哪里开始查找,将不胜感激。

编辑:进一步的实验似乎表明这只发生在区域内。如果我在根控制器中有一个剃刀语法错误,我会得到一个黄屏。区域中的视图中的相同错误会导致下面的符号显示。

0 投票
2 回答
7581 浏览

c# - Razor 语法在编译前在视图中给出错误(无智能感知)

我正在浏览 NuGet 包列表,我正在更新引导程序、jQuery 等所有内容,但是在我这样做的同时,我不假思索地更新了Microsoft.Owin和另一个包(可能是 EF 或其他包),它是主要版本更新...哎呀。

我不得不通过删除我的项目,从源代码管理中获取旧版本并将所有内容恢复到正确版本来跳过箍。一切都恢复正常了,我还有最后一个问题。剃刀语法。

当我打开我的任何观点......在项目的任何地方,我得到这个: 在此处输入图像描述

请注意使用 Razor 的任何内容如何用红色错误曲线标记。他们每个人都说“名称''在当前上下文中不存在”

当我关闭文件时,没有显示错误。此外,当我运行该项目时,没有任何问题,一切正常。问题是,我没有智能感知,它也无法识别我的任何剃须刀助手。

以下是我的项目的规格:

在我的包文件夹中,我还有:

我已经修改了我的 WebConfig 以修复多个错误,现在它包含以下代码:

及以下:<runtime><assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

我有这些:

在我的项目中的每个View 文件夹中,我在Web.Config文件中都有以下代码:

连同此代码:

我试过卸载它、重新安装、升级、降级、删除和添加程序集,还有很多我开始忘记的事情。我不确定从这里继续前进。我可以继续编码,但如果没有智能感知,这将是一个真正的痛苦。预先感谢您的任何帮助。

0 投票
2 回答
9212 浏览

c# - ASP.NET MVC 5.1 C# OWIN facebook 身份验证或登录 询问生日、喜欢、公共个人资料、电话号码

我看过很多关于 facebook 身份验证的帖子,要么是旧的要么不能正常工作。

然而,最后我在我的项目中做了一些有效但不完全的东西。这是我要求的代码

我从返回结果中得到什么。

谁能帮助我为什么我没有得到friends_like,birthday,user_likes等。

此外,如何获取这些字符串值(即“user_birthday”、“first_name”)用于信息检索,比如我怎么知道“user_birthday”返回生日日期(我从搜索中得到),有没有任何列表有这个字符串名称(即“user_birthday”、“first_name”)吗?

如果我使用谷歌身份验证,是否可以获得电话号码或名字、姓氏?

0 投票
1 回答
138 浏览

entity-framework-5 - ASP.NET MVC 和实体框架

我们有一个带有多个数据库(不同架构)的 SQL Server,我需要在ASP.NET MVC 和实体框架中开发一个应用程序,以便在运行时连接到这些数据库中的任何一个并执行 DML 操作。如果将新数据库添加到 SQL Server,则应用程序应该能够连接到这个新数据库,而无需更改任何配置/代码。我正在寻找由myLittleAdmin处理的 DML 操作

任何人都可以在这方面给我建议吗

0 投票
2 回答
3054 浏览

asp.net - BC30561:“Html”不明确,从命名空间或类型“System.Web.WebPages,System.Web.Mvc”导入

我将我的 MVC 应用程序从 MVC 3 升级到 5.2.2,现在我收到了这个错误。我已经使用新项目向导创建了一个全新的 MVC 项目,并且这很有效,并且我已经比较了两个项目中的我的/web.configViews/web.config文件,并且没有发现任何看起来很重要的差异。

在对象浏览器中,我看到实际上在和中HtmlHelper定义了两个不同的对象,这似乎是相关的:System.Web.WebPagesSystem.Web.Mvc

在此处输入图像描述

但我不确定如何处理这个事实。

0 投票
1 回答
5818 浏览

asp.net-mvc - ASP.NET MVC 5 : Endless redirect to the login page using the site template

I just started using ASP.NET MVC 5 (I already used the previous versions quite a lot) and I have a very weird issue: I created a new website using the Visual Studio 2013 (fully updated) ASP.NET template. For the template options I selected the MVC template, "Individual User Accounts" authentication type, no cloud hosting, and no other components than the core MVC library. After I validate the options, I update all the NuGet packages. And after that I press F5 (without opening or modifying any of the new project files).

The browser opens only to show an error page, because of an endless redirection loop: the URL shows :

Again, this is with the stock, unmodified ASP.NET MVC template. I did check that the login URL is defined in the cookie auth options, and that looks good :

The only thing that could maybe break the default website is something in the global web.config/machine.config files, although I usually avoid messing with them on my dev box. Launching the template without updating the NuGet packages does not solve the issue. There's probably something wrong with the ASP.NET Identity lib, but I don't really know it and I couldn't find any relevant info related to my issue.

Question: Does anyone know what the problem is, or at least what's the best way to troubleshoot this ?

Thanks

0 投票
0 回答
852 浏览

jquery - ASP.Net MVC5 使用 jQuery 返回部分视图错误

我正在尝试使用 ASP.NET MVC 5 将部分视图返回到我的页面,并让 jQuery 用部分视图的内容替换元素。

这是我的控制器,它将处理所有这些请求。

这是我的表格:

这是我的 jQuery:

当它返回帖子时,它将清空页面,然后重新加载实际的局部视图,而不是从局部视图中获取 html 并将其导入 div。

当我使用标准 HTML 表单时,这部分代码可以正常工作,但是我无法以这种方式使用我的模型和控制器内置的数据验证。

有效的 HTML 表单:

以及相应的jQuery:

任何帮助表示赞赏。谢谢!