问题标签 [razor-declarative-helpers]

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 投票
4 回答
28051 浏览

string - 我可以在 Razor 中使用 @helper 语法返回字符串吗?

我有一个 RazorHelpers.cshtml 文件,app_code其中如下所示:

但是,我有一个案例,我想将结果用作@Html.ActionLink(...). 我无法将结果转换为字符串。

有没有办法从 Razor 助手返回纯字符串,以便我可以在 HTML 和@Html助手中使用它们?

0 投票
1 回答
1493 浏览

asp.net-mvc-3 - 你可以在@Helper 中使用@Helper 吗?

我不确定这是可能的。

@Helper我在一个视图和其他视图中有一堆's:

我有在视图和其他视图中使用的重复代码:

实际@ViewHelper1有更复杂的代码,但这并不重要(我认为)。

好吧,由于每个视图都有许多@Helper's (30+ 个视图,每个 10-15@Helper个)并且<table>结构是相同的,我想知道如何去创建一个封装结构然后传递视图的@Helperin .App_Code<td>@Helper

说:

或者这是否可能,然后在视图中调用它,例如:

如果是我只需要语法方面的帮助。

一如既往,非常感谢。

0 投票
1 回答
424 浏览

asp.net-mvc-3 - 将函数放入 @helper 时的空引用 - 我可以将它放在哪里或如何处理它?

我正在尝试计算价格,例如:

这在.cshtml视图文件中运行良好,但不用说实际代码要长很多(更不用说我想应用 3 种不同的计算)。

所以我开始考虑在调用中创建一个@helper文件,这样我就可以这样调用它:App_CodeCalculatePricing.cshtml

但这会引发“无法对空引用执行运行时绑定”错误。

我得到了错误,我明白这是一个限制。谁能建议我如何才能做到这一点?我想到了一个类文件,但不知道如何将它转换成一个(如果这是一个更好的选择)。非常感谢代码示例。

更新: 我暂时将此计算放在视图中,因为我无法将其转换为我研究过的其他选项:

  1. 文件中的一个@helper函数App_Code- 但这是我遇到的“空引用”错误。
  2. 一个.cs类文件(或者可能只是将它添加到我的 ViewModel - 但我无法正确编码。
  3. 将它放在控制器中的建议 - 但代码很长。
  4. 创建一个自定义的 Html Helper 类来尝试将其称为 `@Html.Calculate([parameter?], [parameter?]) - 但对我来说,这比 #2 复杂一些。- 适当注明的评论。

再次注意,我提供的示例是一个简单的、简单的示例。我有 30 多个条件可以用多个选项来探索每个条件(例如上面的a's 和b'),其中一些变得更加复杂:

如果我使用 C# 代码(在它自己的.cs文件、自定义 Html Helper 或 ViewModel 中),所有的声明都会出错。

请注意,这不是我遇到问题的实际计算。上面的那个片段可以用来执行我的计算。I am just struggling to get it to an appropriate option I listed above.

UPDATE 2

I am having a lot of trouble converting this to it's own class (I am not a programmer - sorry for not understanding). This is part of my function in the view (just a snippet, hopefully I can figure out the rest if you provide a code sample):

Don't bust my balls for using enums. :)

Again, although the calculation is not the appropriate thing to do in a view, the above works - I get the calculated result I am expecting based on user choices.

My Price.cs model (again, just something basic so you get the idea):

0 投票
2 回答
1297 浏览

asp.net-mvc-3 - 需要 MVC2 / MVC3 Html Helper 或 Editor Template 解决方案

我有一个运行良好的基于​​ jquery 的定制查找控件,但我希望将它封装成一个更整洁的解决方案。以下是 Razor 视图中包含的代码。在幕后还有一个名为“InitLookup”的定制 jquery 函数,它在运行时完成大部分工作。

理想情况下,我想将其缩减为一个更整洁、更可重用的解决方案,其中 javascript InitLookup() 是动态创建并封装在其中的,可能如下所示......

...其中“marMIS”是控制器,“ContactLookup”是控制器方法。这些是用于在查找期间获取数据的地址。

我试图在/Views/Shared/EditorTemplates文件夹中创建一个名为 DynamicLookup 的编辑器模板,但是在使用@Html.DynamicLookup(...

有这个的接盘侠吗?干杯!

------------ App_Code 建议如下!原始问题的附录!-------------------------

好的,所以我已将我的代码复制到一个名为 CustomHelpers.cshtml 的新 App_Code 文件夹文件中。如何将 lambda 表达式传递到此处然后使用它?

0 投票
1 回答
361 浏览

asp.net-mvc-3 - MVC 3 RAZOR 编码逻辑即使在 @{ } 中也会呈现为文本

以下代码行有什么问题?

以下代码行即使在 @{ } 内也会呈现为测试

指导我在 MVC RAZOR 中实现此类编程逻辑的最佳方式

谢谢

@保罗

0 投票
0 回答
76 浏览

asp.net-mvc - 通过子视图的更改使视图模型保持最新

我有一个 Razor 页面,其中使用 Html.DisplayFor() 插入了 2 个子视图:

当我从视图 2 调用操作时,我需要能够在保存模型之前获取模型的最新内存状态(假设行已添加到文档中)。不幸的是,我似乎只能得到第一次加载页面时的模型。我可以看到子视图中使用的视图模型的更改。例如,在付款子视图中,我可以看到付款正在更新,但不是其他视图中已更新的行。

有什么方法可以让我从另一个视图中看到一个视图的变化,或者让它们改变同一个对象?

0 投票
1 回答
3034 浏览

asp.net-mvc - ASP.NET MVC - 剃刀。使用@helper 创建面板

我正在尝试使用 ASP.NET MVC 中的 @helper 实用程序创建以下帮助程序。想法是创建一个 Panel 并从页面调用此帮助程序以设置面板的标题和正文(我希望在同一页面上有多个面板,因此我不能使用布局)。

这里是帮手:

在这里我想如何调用这个助手:

0 投票
1 回答
364 浏览

c# - 卡在 Razor 扩展上

我正在尝试将一些常用代码重构为帮助程序扩展并且坚持使用语法,主要是因为我没有完全掌握泛型、lambda 表达式等。

我希望能够将它放在我的视图中,并让它使用我的模型的字段(例如 FirstName)来生成一些利用其他 Razor 扩展的 HTML:

目前我有:

问题:

  1. 这是正确的方法吗?我希望能够将此方法与任何视图模型字段一起使用。
  2. 我是否包含了正确的命名空间?这将进入 app_code 文件夹
  3. XXXXXX 里有什么?
0 投票
1 回答
507 浏览

asp.net-mvc-3 - mvc 3 dropdownlistfor - 选定的值始终为空

我有这样的下拉列表:

和控制器:

我的下拉列表的视图部分:

当我选择一些项目时,httppost regionId 始终为空。请帮忙。

0 投票
1 回答
957 浏览

asp.net-mvc-3 - MVC4 WebGrid 中的项目类型是什么

我正在使用 webgrid 来显示记录列表。

我的观点与 IEnumerable 紧密结合。

我正在将 webgrid 与模型绑定。

我正在尝试使用@helper 方法格式化列。@helper 方法采用 Models.SitesConfig.Configuration 类型的参数。

当我尝试加载视图时,我收到无效参数错误。

这是我的看法。

有人可以帮我解决这个问题。