问题标签 [razor-3]

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

asp.net - Razor 3 有什么新功能?

我找不到 Razor 3 中的新功能。这似乎是一个愚蠢的问题,但我可以轻松找到 MVC 5、EF 6 等中的新功能 - 但我尝试用谷歌搜索它,我尝试了 asp.net,我尝试了斯科特的博客 - 没有。所以我很好奇,有人真的知道 Razor 3 的新功能吗?谢谢!

0 投票
2 回答
1036 浏览

c# - 为视图模型字段的 id 和名称添加前缀

在我的项目中,我使用了很多动态加载的视图/表单。在我的表单中,有很多字段是通过使用生成的@Html.TextBoxFor(),然后@Html.IdFor(), @Html.NameFor()在我的 javascript 逻辑中使用。

我的一些视图模型具有相同名称的字段(ID、名称、描述等),因此如果我在 1 页上有 2 个具有此类视图模型的表单,那么我就有问题(相同的 id 属性用于多个元素) .

所以我想知道是否可以将一些服务器端元数据/属性添加到我的视图模型中,并带有将添加到生成的 ID 和名称的前缀?或者,如果有另一个不需要重命名我的视图模型或视图的解决方案。

0 投票
1 回答
2047 浏览

asp.net-mvc - @Html.DropDownList 无法初始化值

我有一段简单的代码尝试填充 3 个国家/地区的列表并默认选择第二项。出于某种原因,@Html.DropDownList 没有初始化屏幕中的第二个项目。有人可以指出这段代码有什么问题吗?

下面是屏幕上的输出..

屏幕输出

quickwatch 窗口显示“Selected”属性已正确设置为值“2”,但屏幕并未反映这一点。

快速观察输出

视图代码如下

0 投票
1 回答
113 浏览

javascript - 使用 JQuery 显示隐藏的 div 内容

我有两个 div 标签。单击第一个 div 标签时,会发生 AJAX 调用,第二个 div 标签会替换第一个。

我在第二个 div 标签中有后退按钮。单击后退按钮时,我应该能够看到第一个 div 标签被第二个 div 标签替换。

这是我的剃刀代码:

这是我的 AJAX 调用:

这是我的 JQuery:

我检查了第一个 div 标记的 .html() 内容在 AJAX 调用后被清空。

为了显示在 AJAX 期间被另一个 div 标签替换的 div 标签,我应该怎么做?我是否需要调用另一个 AJAX 调用来显示第一个 div 内容?

友善的建议。

提前致谢。

0 投票
1 回答
665 浏览

visual-studio - MVC 5 中缺少剃刀智能感知和键盘快捷键行为 - 带有 Resharper 的 Visual Studio 2012

我已经开始了一个空项目,并使用此链接MVC 5的大部分内容将我的大部分内容从另一个项目导入到这个项目中。然而,我很快发现我遇到了其他类型的麻烦。从那以后,我下载了 Visual Studio 2012 的 ASP.NET 和 Web Tools 2013.1并安装了它,它只是部分解决了我的问题。

截至目前,我的Razor语法有效,但我失去了一些非常好的功能。这是一个例子:

因此,当我输入@System.DateTime.Now线路时,智能确实起作用并提供了很好的选择。但是,如果我<a href="@Url.Action("SearchOrders", "ManageOrders")">Orders</a>在编写该SearchOrders行时键入 , ,智能将提供控制器中包含的操作的名称,但是MVC 5不再Visual Studio 2012是这种情况。

因此,如果我键入缺少的动作,支持将不再警告我该动作丢失,也不会让我在我的控制器中创建动作,依此类推。同样,如果我点击一行,将打开元数据类而不是显示F12文件。View()Visual Studio 2012.cshtml

是否缺少一些东西来恢复这些功能?我已经尝试过使用MVC 4 Web Application框架并且一切正常。

在用户 Erik 指出它与 Resharper 的代码完成和其他功能有关后进行编辑,我现在正在寻找为什么 Resharper v 7.1.x 似乎无法处理 MVC 5 及其功能。

0 投票
1 回答
233 浏览

asp.net-mvc - 如何获取剃须刀文件的布局值?

我正在做一些自定义基础设施来为单个视图自动生成特定的包,并且有一个案例我需要获取每个视图的布局值,同时将它们作为文件进行迭代。

我已经尝试过var view = new RazorView(new ControllerContext(), actionView.FullName, null, true, null);,但这将 LayoutPath 作为输入,如果我为该参数提供 null ,它确实会在 RazorView的LayoutPath属性上产生一个空字符串,因此它不会解析文件的值。

有没有其他方法可以以类似的方式解决这个问题,或者我最好/唯一的选择是只解析原始文件的文本(和_ViewStart)?

这仅在应用程序启动时完成一次,因此性能目前不是问题。

0 投票
1 回答
1085 浏览

sql-server-2008-r2 - 如何避免几乎同时添加的 SQL 中的重复行?

我的 Razor 3 Web 应用程序正在为同一个外键 Id 创建多行,当多个输入进入同一个 Id 时,我想帮助我避免这种情况。

SQL Server 表将有关记录的数据存储在另一个表中(它是用户对某些事物的评分,其中还有一个用户表和一个可评分事物表,因此评分表具有用户的外键 id,被评级事物的外键 ID 和评级值)。如果未给出评分,则该用户 ID 和事物 ID 没有对应的行。

当用户对某事物进行评分时,代码会调用服务器,服务器会检查该用户之前是否对该事物进行了评分,如果是,则更新该行,如果没有,则创建一个新行:

这工作得很好,除非用户非常快速地为同一件事发送两个评级(这种情况经常发生),这会导致服务器创建两行,因为显然它是多线程的并且两个线程都没有看到现有的行,所以他们都创建一个新的。

那么......我怎样才能避免这种情况呢?

  • 我假设我可以以某种方式(?)告诉 SQL Server 做出一个约束,该约束的组合memberID应该thingID在这个表中是唯一的,然后 SQL Server 的工作就是自动解决插入问题,并希望使用最新的值。

或者

  • 我想我可以以某种方式(?)告诉这个例程锁定数据库或成为单线程,以便在允许执行对同一例程的下一次调用之前完成添加一行。

我只是不知道要执行的语法或 UI/SQL 步骤,尽管有点看。我认为我更喜欢线程锁解决方案,因为我比 DB 人更喜欢程序员,所以我更喜欢代码的复杂性。

谢谢你的帮助!

0 投票
5 回答
29445 浏览

c# - 在 ASP.NET MVC 中使用带有 IEnumerable 模型的自定义编辑器模板的正确惯用方式

这个问题是为什么我的 DisplayFor 没有循环通过我的 IEnumerable<DateTime>?


快速刷新。

什么时候:

  • 该模型具有类型的属性IEnumerable<T>
  • 您将此属性传递给Html.EditorFor()使用仅接受 lambda 表达式的重载
  • T您在 Views/Shared/EditorTemplates 下有一个类型的编辑器模板

然后 MVC 引擎将自动为可枚举序列中的每个项目调用编辑器模板,生成结果列表。

例如,当有一个Order具有属性的模型类时Lines

并且有一个视图Views/Shared/EditorTemplates/OrderLine.cshtml:

然后,当您@Html.EditorFor(m => m.Lines)从顶级视图调用时,您将获得一个页面,其中包含每个订单行的文本框,而不仅仅是一个。


但是,正如您在链接问题中看到的那样,这仅在您使用EditorFor. 如果您提供模板名称(为了使用不是以OrderLine类命名的模板),则不会发生自动序列处理,而是会发生运行时错误。

此时,您必须将自定义模板的模型声明为IEnumebrable<OrderLine>并以某种方式手动迭代其项目以输出所有项目,例如

这就是问题开始的地方。

以这种方式生成的 HTML 控件都具有相同的 id 和名称。当您稍后发布它们时,模型绑定器将无法构造OrderLines 数组,您在控制器中的 HttpPost 方法中获得的模型对象将是null.
如果您查看 lambda 表达式,这是有道理的——它并没有真正将正在构造的对象链接到它来自的模型中的某个位置。

我尝试了各种迭代项目的方法,似乎唯一的方法是将模板的模型重新声明为IList<T>并用以下方式枚举它for

然后在顶层视图中:

它提供了正确命名的 HTML 控件,这些控件在提交时被模型绑定器正确识别。


虽然这有效,但感觉非常错误。

什么是使用自定义编辑器模板的正确惯用方式EditorFor,同时保留允许引擎生成适合模型绑定器的 HTML 的所有逻辑链接?

0 投票
2 回答
358 浏览

sql - SQL 2 where 子句

我有一个相当简单的查询,我试图在我的网站上执行它,但它只是不起作用。我正在使用 2 个 where 子句,是的,我已经看到了许多关于多个 where 子句的其他问题,我的查询与他们的查询非常不同,因为他们的查询更加复杂和高级,所以我真的无法得到适合我的解决方案。

这是我的查询;

查询“有效”,因为它没有给我任何错误,只是没有按预期提取报告。

UserId 是一个整数。发布有点。

UserId = @0 是我的 Razor 代码中使用的标量变量。

先感谢您。

0 投票
1 回答
283 浏览

c# - ASP.NET 网页自定义类

我一直在考虑是否可以创建自己的“类”,例如,如果我想在我的用户表下创建一个“分区”系统,我是否能够创建一个可以在我的 cshtml 文件中使用的“类”它检查某个用户是否是该部门的成员,而不必每次需要检查时都进行相同的查询?

例如对于类似的东西:

先感谢您。