问题标签 [razor-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 投票
1 回答
2236 浏览

asp.net-mvc - 在 ASP.NET 中使用 Razor 嵌套表时遇到问题 / 示例如下说明

对于一个有多个时间段的会议站点,我有一个简单的关系,并且我想在每个时间段中显示多个会话。

下面的代码可以正常工作,但是我不得不在外部代码块中使用 @Html.Raw("..") 。如果我只是尝试将原始 html (如ABCD放在第一个 @Html.Raw("") 的正上方),我会收到编译器错误。我对 razor 还是很陌生,只是不明白如何让我的生活更简单在嵌套的 foreach 中有真正的 html 代码,而不必将所有内容都包装在辅助方法中。

谢谢。

0 投票
1 回答
140 浏览

asp.net-mvc - 是否可以使用带有嵌套类的 dropdownlistfor 动态设置 selectedvalue?

我有一个类 Farm,其中包含 Animal 类型的类列表。

我想为我的 Farm 对象创建一个 createOrEdit 视图,并且我想将 DropDownLists 用于动物的名称和家庭。选择来自数据库。

当我将 Animal 模型传递给视图进行编辑时,我希望 DropDownLists 以某种方式匹配每个动物的属性并设置列表的选定值。

我已经尝试了很多这样的事情:

我在这个网站上看到了很多关于在控制器中创建 SelectLists、迭代每个项目并在适当的地方设置 selected 属性的建议。但是必须有一种更清洁的方法......如果我的农场有 100 只动物怎么办。在控制器中创建 200 个 SelectList,遍历它们中的每一个以匹配选定的值,然后将其传递给视图似乎并不合理。

那么,我有没有一种简单的方法来获取 Animal.Name[i] 值并在 DDL 中找到它的匹配列表项?

谢谢!!

0 投票
1 回答
1423 浏览

c# - 如何在 asp.net mvc 中回发嵌套模型

首先很抱歉,如果这个问题具有误导性,但我真的不知道如何提出这个问题,所以我会尝试用例子来解释自己。

如果您可以为问题建议一个更好的标题,我很乐意更改它

我有这些模型:

然后我的控制器是这样的:

现在是我开始把事情复杂化的时候(至少对我来说)

我的看法是这样的:

在我的 EditorTemplate 文件夹中,我有这个视图

如您所见,我正在使用局部视图来呈现每个类别中的标签

所以我的部分观点是这样的

再次在我的 EditorTemplate 文件夹中,我有这样的视图

至此,一切顺利,懒加载运行,分别渲染我的所有类别和标签没有任何问题。

但是当我使用以下方式回帖时:

我明白了:

在此处输入图像描述

如您所见,标签什么都不是。

所以我的问题是这样的,我如何将这些标签返回给服务器?

(我有其他方法可以做到这一点,但我想知道是否可以使用这种方法来做到这一点)

(如果你有 C# 中的答案,请告诉我我会从中工作)

谢谢!

0 投票
1 回答
1209 浏览

razor - 升级到 Razor 2/RE 3.2 后,RazorEngine 扩展方法失败并出现 RuntimeBinderException

我有一个RazorEngine项目在升级到 Razor 2.0 和 RazorEngine 3.2.0 后失败

这在以前基于 Razor 1.0 的 RazorEngine (3.0.8) 版本中运行良好。

我有myInstance一个类 ( ) 的实例 ( )MyClass和扩展方法:

我想在 RazorEngine 视图中调用它(简化示例,有很多这些方法,并且都以相同的方式失败):

这是在 RazorEngine 编译的文本文件中:

问题是这条线(以前可以工作)抛出一个RuntimeBinderException

“MyCompany.MyClass”不包含“ExtensionMethod”的定义

请注意,如果我将文本文件更改为:

它工作正常,所以我认为它必须找到扩展方法的命名空间。

我的第一个想法是它必须将传递的模型视为 a dynamic(因此也将任何从它派生的模型视为dynamic),但它知道RuntimeBinderException. 由于异常是运行时的,我认为在编译模板时它一定无法识别扩展方法,但为什么会改变呢?

我不确定 3.0.8 和 3.2.0 之间发生了什么变化,或者为什么会出现这种情况。是否需要添加一些内容以便在编译模板时可以找到扩展方法?

0 投票
2 回答
1372 浏览

asp.net-mvc-3 - mvc4中的下拉列表

我有一个显示“是”和“否”的下拉列表。如果我从下拉列表中选择是,则 1 应保存到数据库。如果我选​​择否,则应保存 0。如果我从创建页面的下拉列表中选择是,则应显示在索引页面中是,但保存的值应为 1

型号为:

创建.cshtml

索引.cshtml:

我得到了下拉列表,其中包含值是和否,它相应地存储了 1 和 0。但是在索引页面中,它显示的是 1 和 0 而不是是和否...请帮助...

0 投票
1 回答
2017 浏览

asp.net-mvc - 如何创建 EditorFor 集合并避免循环

例如:

模型

人的编辑器模板(PersonEditor.cshtml):

在我的主页上,我希望能够执行以下操作:

并拥有表格中的所有元素,自动生成专有名称;而不是像我现在所做的那样遍历集合:

表单元素必须包含以下格式:

等等...

因为在我的控制器中,我希望IList<Person>在表单发布包时收到一个。

我可以完全消除那个 for 循环吗?

编辑

现在,当我简单地做@Html.EditorFor(x=>x)(换句话说,没有循环)时,我得到了这个异常:

传入字典的模型项的类型为“MvcApplication1.Models.Person[]”,但此字典需要类型为“MvcApplication1.Models.Person”的模型项。

0 投票
1 回答
94 浏览

asp.net-mvc - 发布具有新子实体的新实体

我的域模型是具有一个或多个 CompanyAdmin 实体的公司实体。

我意识到,要在发布表单值时使用默认模型绑定器,CompanyAdmin 实体必须具有唯一的名称。

首次浏览该页面时,公司或公司管理员都没有数据。这意味着,此代码在视图中不起作用,因此不会显示输入文本框。

所以,为了让它们显示我使用:

但是,现在的问题是模型绑定在 POST 时不起作用。我能找到的所有示例都使用已经创建的数据。

我怎样才能让它工作?

视图模型

控制器

看法

0 投票
1 回答
302 浏览

c# - 关于 MVC4 用户输入,如何不依赖实体(模型)输入验证?

vs2012 /WebSite Razor2 开发模式,可以使用以下方法验证吗?

那么如何使用MVC类似的方法呢?

0 投票
2 回答
2116 浏览

asp.net - 如何在razor v2中从c#调用javascript函数

我有 javascript 函数,它使用 noty javascript 插件创建通知,

我使用 razor v2 作为带有 C# 的视图引擎和 web 表单框架,而不是 mvc。提交表单后,我想调用上面的 javascript 函数。这是我正在尝试做的一个例子;

ps 如果我尝试使用任何 html 按钮 onclick 事件处理程序调用 generateAnoty(message) js 方法,它运行良好。

0 投票
1 回答
665 浏览

asp.net-mvc - 一下子,CultureInfo.CurrentUICulture 不反映 IE9 语言偏好的视图?

以前,我认为这段代码没有问题,而且它总是正确地反映了用户在 IE9 中设置的语言偏好:

我最近添加了这段代码,以前也为我工作。然而,在上一次这似乎工作和它崩溃之间,我的公司唯一做的就是升级到 Telerik Kendo;我看不出这会如何影响这一点,但问题是上面的代码和下面的代码不再正确反映用户在 IE9 中选择的语言设置......

我的视图中有一个代码块使用 CultureInfo.CurrentUICulture.Name,但无论我将 IE9 语言首选项设置为什么,它似乎总是设置为 en-US。注意:此代码嵌入在@section 中:

我的 web.config 目前在全球化中有以下设置:

我还在控制器中将 CultureInfo.CurrentCulture 设置为 CultureInfo.CurrentUICulture,以便我的模型正确绑定日期和数值:

非常需要注意:由于某种原因,如果我在 OnAuthorization 和 jQueryScripts @section 中的代码块中设置断点,OnAuthorization 会被命中 3 次(我确实有一些可能导致此问题的 ajax 调用($(document) .ready(...),但必须验证,以前从未注意到这一点) - 但 Thread.CurrentThread.CurrentUICulture 似乎只在最后一次调用中正确反映了用户的语言偏好,以及我在 jQueryScripts 中放置的断点@查询 CultureInfo.CurrentUICulture 的部分在第一次调用 OnAuthorize 后被命中。我知道 OnAuthorize 没有设置 CurrentUICulture,但只是指出似乎用户的语言设置在控制器中被识别,但在观点。非常令人困惑……有什么想法吗?