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

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 回答
2003 浏览

asp.net-mvc - 将 Web 应用程序迁移到 asp.net mvc

我需要你关于迁移的建议。我想将现有项目迁移到 ASP.NET MVC,我可以找出除 url 重写问题之外的过程:

例如,我如何制作以下路线:

http://www.eireads.com/ireland/mayo/cars-3/1263-used-cars-citroen-c5-for-sale.aspx

或者也许我可以以某种方式继续支持传统路线。

0 投票
1 回答
3676 浏览

asp.net-mvc - 从 asp.net mvc 1 升级到 asp.net mvc 2 时在 web.config 中添加 bindingRedirect 元素

我有一个关于将 asp.net mvc 应用程序从 v1 升级到 v2 的问题......

我在 ASP.NET MVC v2 发行说明中注意到我们需要在升级时添加此代码(请参见下文),但它没有说明它的目的是什么,因为我已经尝试过我的一些应用程序到 asp.net mvc 2 而不在 web.config 中添加此特定部分。

我不应该放置这个会有影响吗?

谢谢!

0 投票
2 回答
2073 浏览

asp.net-mvc - Razor 视图语法无法识别 HTML 属性中的“@”

我正在将一个项目从 MVC 2 迁移到 MVC3 和剃刀视图引擎。

在 MVC 2 中,我将拥有以下 html:

使用剃须刀时,我尝试了以下操作,当我想要 del_1 时,它会呈现文字文本“del_@Model.ActivityID.ToString()”。

为了解决这个问题,我使用了:

有没有让剃须刀使用这种语法?

0 投票
1 回答
1370 浏览

asp.net-mvc - MVC3 ValidationAttribute 中断

我将我的项目从 MVC2 升级到 MVC3 并且所有自定义 ValidationAttributes 都坏了。在模型绑定阶段的某个时刻,它会引发以下异常:

我无法弄清楚发生了什么变化......没有显示名称......

我怀疑 IsValid 覆盖,它应该以某种方式改变,但签名是相同的。

更多信息:

它显然会影响“AttributeTargets.Class”属性,如:

0 投票
2 回答
5130 浏览

asp.net-mvc - SiteMapPath using MVC 3 Razor

I'm currently converting a project from Asp.Net MVC 2 to MVC 3 and I'm having trouble finding out how to do this...

using Razor?

I've been playing with @SiteMap but other than getting the current node @SiteMap.CurrentNode.ToString() I'm having trouble finding a way to get the path.

0 投票
2 回答
901 浏览

c# - Viewengine 没有在 asp.net mvc3 升级中寻找视图区域?

我正在将我的 asp.net mvc 应用程序从 mvc 2 升级到 MVC 3。我已经设置了所有内容,因此没有区域,但现在我必须将旧应用程序移动到它自己的区域,这样我才能开始一个新的应用程序. 新区域运行良好,但由于某种原因,当我尝试进入旧应用程序所在的区域时,它会在应用程序根目录的 views 文件夹中查找视图,而不是在 views 文件夹中在那个地区。有什么想法吗?

0 投票
1 回答
6584 浏览

asp.net-mvc - Razor:无法在 @Section 中呈现 Html.Label 助手(仅输出源)

我无法弄清楚如何在 Html.LabelFor 中使用 @class,因此我使用在 SO 上找到的代码更新了 Html.Label 的扩展帮助程序。

我的 LabelExtension.cs 文件具有以下类:

因此,我最初在 MVC2 .aspx 页面中使用了以下内容(我将其转换为 .cshtml):

这在 MVC2 中表现得非常好(为简洁起见,我省略了 usings 等)。但是,今天在转换为 .cshtml(使用 _layout.cshtml)时,我发现 Html.Label 没有呈现而是输出源。这是代码:

以上只是简单的东西,不是最终产品。我只是想让它先渲染。注意:1)我尝试了 Html.BeginForm 的各种迭代;和 2) 我什至把它封闭在 . 尽管如此,它仍然没有“工作”。

这是您在浏览器上看到的标签(在浏览器中输出的源代码),文本框正上方(呈现):

如果您“查看源代码”,您会看到以下内容:

这与@section 有关吗?还是我正在尝试使用 MVC2 的扩展?

提前感谢您的任何想法/建议。

编辑:这是我在评论中引用的代码,适用于我的情况。谢谢您的帮助。

0 投票
1 回答
456 浏览

asp.net-mvc - 从 ASP.NET MVC 1.0 迁移会破坏 Reponse 和 Request 对象

我一直在尝试在其 web 根目录中运行 ASP.NET MVC 1.0 应用程序的服务器上部署 ASP.NET 4.0 (webform) 项目。我进展缓慢,但碰壁了,所以我决定针对 MVC 框架 2.0 版和 .NET 框架 4.0 版重新编译 MVC 应用程序。我使用了一些工具来做到这一点。

该项目似乎已成功转换,但现在无法编译。具体来说,System.Web.HttpContextBase 似乎存在问题。

例如,如果我有以下代码:

我收到以下错误:

我检查了对象资源管理器只是为了确保: HttpContextBase 确实有一个名为 Response 的属性。这件事快把我逼疯了。

我还有另一个大问题,我认为这是相关的。任何时候查询 Request 对象:

它说:

据我所知,这也没有任何理由。

我无计可施。我检查了 MVC 2.0 的重大更改文档,但没有看到与此相关的任何内容。参考资料对我来说都很好;版本号全部签出。

关于服务器问题的进一步说明:除了 ftp,我没有任何访问部署 Web 服务器的权限。我不能进去乱搞服务器配置。这就是为什么这听起来有点奇怪。

0 投票
2 回答
2090 浏览

asp.net-mvc - 从 MVC 3 升级到 4 后,Razor 辅助方法不起作用

我在 App_Code 目录下的文件中有一个辅助方法。该方法在 MVC 3 中运行良好,但在升级到 MVC 4 后就不行了。它在第一个 @if() 块上失败了......

[编辑] 这看起来像是 Razor 引擎中的解析错误。当我的所有对象及其属性都不为空时,我收到“对象引用未设置为对象的实例”错误。我想我得直接去微软。

[编辑] 错误消息是旧的“对象引用未设置为对象的实例”。这很奇怪,因为条件中的每个对象 AND 属性都是有效的且不为空。

[更新] 我稍微改变了代码,现在它更奇怪了。我在该行遇到与上述相同的错误:

contactTwitterHandle 和 contactTwitterHandle.Handle 都不是空的。

0 投票
3 回答
29139 浏览

c# - Why `DatabaseGenerated(DatabaseGeneratedOption.Identity)` doesn't work in MVC 4

I was trying to move my MVC 3 project to MVC 4 but when I wanted to move this model:

I got error with [System.ComponentModel.DataAnnotations.(DatabaseGeneratedOption.Identity)] attribute. I don't know what's the problem. Does anyone know?!?

Update

These are the errors:

The type or namespace name 'DatabaseGeneratedAttribute' could not be found (are you missing a using directive or an assembly reference?)

The type or namespace name 'DatabaseGenerated' could not be found (are you missing a using directive or an assembly reference?)