问题标签 [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.
asp.net-mvc - 在 ASP.NET 中使用 Razor 嵌套表时遇到问题 / 示例如下说明
对于一个有多个时间段的会议站点,我有一个简单的关系,并且我想在每个时间段中显示多个会话。
下面的代码可以正常工作,但是我不得不在外部代码块中使用 @Html.Raw("..") 。如果我只是尝试将原始 html (如ABCD放在第一个 @Html.Raw("") 的正上方),我会收到编译器错误。我对 razor 还是很陌生,只是不明白如何让我的生活更简单在嵌套的 foreach 中有真正的 html 代码,而不必将所有内容都包装在辅助方法中。
谢谢。
asp.net-mvc - 是否可以使用带有嵌套类的 dropdownlistfor 动态设置 selectedvalue?
我有一个类 Farm,其中包含 Animal 类型的类列表。
我想为我的 Farm 对象创建一个 createOrEdit 视图,并且我想将 DropDownLists 用于动物的名称和家庭。选择来自数据库。
当我将 Animal 模型传递给视图进行编辑时,我希望 DropDownLists 以某种方式匹配每个动物的属性并设置列表的选定值。
我已经尝试了很多这样的事情:
我在这个网站上看到了很多关于在控制器中创建 SelectLists、迭代每个项目并在适当的地方设置 selected 属性的建议。但是必须有一种更清洁的方法......如果我的农场有 100 只动物怎么办。在控制器中创建 200 个 SelectList,遍历它们中的每一个以匹配选定的值,然后将其传递给视图似乎并不合理。
那么,我有没有一种简单的方法来获取 Animal.Name[i] 值并在 DDL 中找到它的匹配列表项?
谢谢!!
c# - 如何在 asp.net mvc 中回发嵌套模型
首先很抱歉,如果这个问题具有误导性,但我真的不知道如何提出这个问题,所以我会尝试用例子来解释自己。
如果您可以为问题建议一个更好的标题,我很乐意更改它
我有这些模型:
然后我的控制器是这样的:
现在是我开始把事情复杂化的时候(至少对我来说)
我的看法是这样的:
在我的 EditorTemplate 文件夹中,我有这个视图
如您所见,我正在使用局部视图来呈现每个类别中的标签
所以我的部分观点是这样的
再次在我的 EditorTemplate 文件夹中,我有这样的视图
至此,一切顺利,懒加载运行,分别渲染我的所有类别和标签没有任何问题。
但是当我使用以下方式回帖时:
我明白了:
如您所见,标签什么都不是。
所以我的问题是这样的,我如何将这些标签返回给服务器?
(我有其他方法可以做到这一点,但我想知道是否可以使用这种方法来做到这一点)
(如果你有 C# 中的答案,请告诉我我会从中工作)
谢谢!
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 之间发生了什么变化,或者为什么会出现这种情况。是否需要添加一些内容以便在编译模板时可以找到扩展方法?
asp.net-mvc-3 - mvc4中的下拉列表
我有一个显示“是”和“否”的下拉列表。如果我从下拉列表中选择是,则 1 应保存到数据库。如果我选择否,则应保存 0。如果我从创建页面的下拉列表中选择是,则应显示在索引页面中是,但保存的值应为 1
型号为:
创建.cshtml
索引.cshtml:
我得到了下拉列表,其中包含值是和否,它相应地存储了 1 和 0。但是在索引页面中,它显示的是 1 和 0 而不是是和否...请帮助...
asp.net-mvc - 如何创建 EditorFor 集合并避免循环
例如:
模型
人的编辑器模板(PersonEditor.cshtml):
在我的主页上,我希望能够执行以下操作:
并拥有表格中的所有元素,自动生成专有名称;而不是像我现在所做的那样遍历集合:
表单元素必须包含以下格式:
等等...
因为在我的控制器中,我希望IList<Person>
在表单发布包时收到一个。
我可以完全消除那个 for 循环吗?
编辑
现在,当我简单地做@Html.EditorFor(x=>x)
(换句话说,没有循环)时,我得到了这个异常:
传入字典的模型项的类型为“MvcApplication1.Models.Person[]”,但此字典需要类型为“MvcApplication1.Models.Person”的模型项。
asp.net-mvc - 发布具有新子实体的新实体
我的域模型是具有一个或多个 CompanyAdmin 实体的公司实体。
我意识到,要在发布表单值时使用默认模型绑定器,CompanyAdmin 实体必须具有唯一的名称。
首次浏览该页面时,公司或公司管理员都没有数据。这意味着,此代码在视图中不起作用,因此不会显示输入文本框。
所以,为了让它们显示我使用:
但是,现在的问题是模型绑定在 POST 时不起作用。我能找到的所有示例都使用已经创建的数据。
我怎样才能让它工作?
视图模型
控制器
看法
c# - 关于 MVC4 用户输入,如何不依赖实体(模型)输入验证?
vs2012 /WebSite Razor2 开发模式,可以使用以下方法验证吗?
那么如何使用MVC类似的方法呢?
asp.net - 如何在razor v2中从c#调用javascript函数
我有 javascript 函数,它使用 noty javascript 插件创建通知,
我使用 razor v2 作为带有 C# 的视图引擎和 web 表单框架,而不是 mvc。提交表单后,我想调用上面的 javascript 函数。这是我正在尝试做的一个例子;
ps 如果我尝试使用任何 html 按钮 onclick 事件处理程序调用 generateAnoty(message) js 方法,它运行良好。
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,但只是指出似乎用户的语言设置在控制器中被识别,但在观点。非常令人困惑……有什么想法吗?