问题标签 [t4mvc]
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.
t4mvc - T4MVC 控制器生成的文件不会为新添加的控制器更新
我将 T4MVC 添加到我的应用程序中,它为控制器生成了所有必要的文件。但是,当我尝试将新控制器添加到我的应用程序中时,我没有看到这个新添加的控制器的 controller.generated 文件到应用程序中。
我错过了什么还是 T4MVC 的限制?谁可以帮我这个事?
c# - 使用 T4MVC 的自定义模型绑定器
我的 MVC 应用程序中有一个自定义模型绑定器,但我不知道是否可以使用 T4MVC。
通常我会这样称呼我的行动:
使用 T4MVC 它应该是这样的:
但由于 T4 不知道我的活页夹,他尝试在 url 中发送对象,但我想要的是他生成这样的 url:Contract/{contractId}/Version/{action}/{version}
另请注意,我有一个自定义路线:
这是我的活页夹:
我该怎么办?我不想在我的路线中有魔术字符串......
谢谢!
c# - T4MVC - 处理可选参数
我正在使用 .NET 3.5、MVC 2 和 T4MVC 2.6.42...
我有以下动作:
以及以下路线:
但是当我尝试调用时,MVC.Products.Index("anything")
我得到一个“方法'Index'没有重载需要'1'参数”异常。MVC.Products.Index()
但是,调用是有效的。
我不应该省略“page”参数,因为它默认为“1”吗?
注意:我尝试在路由中将 page 参数默认为 1,但没有成功。
注意 2:还尝试了[Optional] 属性,但没有成功。
jquery - 通过 Nuget 添加新版本的 Jquery 和 t4mvc 的问题
我已经通过 Nuget 添加了最新版本的 Jquery(1.5.2),但 t4mvc 拒绝看到它。
它不会出现在智能感知中,当我手动输入时,我得到:
这是我用来引用它的代码。
作为一个附带问题,如何通过 NuGet 安装旧版本的 jquery?是否可以?
asp.net-mvc-3 - MVC 3.0 T4MVC 在 VS 2010 中停止工作
昨天我已经完全编译了 ASP.NET MVC 3.0 项目。今天当我再次打开我的项目时,由于 T4MVC 无法编译,我感到非常惊讶。
我再次通过 NuGet 阅读了 T4MVC 模板,但没有帮助。然后我删除了所有相关的 T4 VS 2010 扩展:T4 Editor、T4Utilites 和 Visual T4,再次打开项目但没有帮助,然后我重新启动并再次安装了 T4 扩展,但也没有帮助。比我创建新的干净的 ASP.NET MVC 3.0 项目并将 T4MVC 添加到此,我遇到了相同的错误(请参阅 peintscreen)。
如果我从解决方案中删除 T4MVC.tt,我就可以编译项目,但是当我把它放回去时,我又遇到了错误。
我认为 Visual Studio 的问题,现在我有一个非常糟糕的主意 - 尝试重新安装 Visual Studio,但可能有人可能会建议更好的东西?
附言 1
这几天我也没有安装任何与 Visual Studio 相关的东西,可能只是通过 Windows 更新的几个小的 Upstate,但它们与 Visual Studio 无关。
我还安装了 MVC 3.0 更新工具,但在今天之前一切正常。
看起来很奇怪,我可以使用此模板成功生成 *.cs 文件,在此过程中我没有遇到任何错误,但由于某种原因,Visual Studio 将 T4MVC.tt 归咎于 T4MVC.tt。
附言 2
实际上也更新了 NuGet 包。可能是这样吗?嗯...但是在删除 NuGet 之后都是一样的:(
asp.net-mvc-3 - T4MVC 导致错误的 URL
在我的新 MVC Razor 项目上使用 T4MVC,我将有一个像这样的操作链接
所以我希望像 http://localhost:52122/Home/Index这样的网址
但我得到的是 http://localhost:52122/Home/~/Views/Home/Index.cshtml
查看 t4mvc 模板文件,我看到“~/Views/Home/Index.cshtml”的来源,但我不想碰它,因为它是这样制作的,我想我不应该在那里改变任何东西。
问一个朋友,他说我应该使用 RouteLink 而不是 ActionLink,因为我有时会去控制器之外的位置。但是,当我这样做时,我得到:“在路由集合中找不到名为 '~/Views/Home/Index.cshtml' 的路由。” 当我尝试运行该应用程序时。
我想我还应该注意我使用的链接在 _Layout.cshtml
我究竟做错了什么?
c# - 如何在 T4 for ASP.NET MVC 的嵌套文件夹中生成链接?
我们正在使用 T4MVC 为我们生成指向我们的脚本和内容的链接。我们已经Script
为我们的一些区域添加了一个文件夹,并且我们希望 T4MVC 也为它们生成链接。
我们试图修改它以将其作为一行添加到 中T4MVC.tt.settings.t4
,但不幸的是没有成功。该Areas/Webcard/Scripts
文件夹的链接尚未生成:
向每个区域添加文件夹时,如何为新文件夹生成链接?
c# - 带有 ActionNames 的 T4MVC
我刚刚在我的项目中包含了 T4MVC 并遇到了一个问题。我通过隐藏的文本字段将数据传递给我的 javascript,并且我需要能够传递控制器的名称及其操作。这是我所拥有的:
我希望能够做到:
由于某种原因,这不起作用。我在想,因为 LogJavascriptError 没有返回 ActionResult。仅供参考 LogJavaScriptError 也接受一个字符串,但我真的只想要动作的名称。我也试过@MVC.Error.ActionNames.LogJavaScriptError 但它可能不会再次出现,因为它没有返回ActionResult?
c# - T4MVC 不适用于 Url.Action() 的属性
这是我的原始代码:
这将生成:http://localhost:2543/Account/LoginYoutube
使用 T4MVC 我可以:
并生成:/Account/LoginYoutube
我需要最后一个带有“http”的参数才能获得http://localhost:2543。问题在于 T4MVC 我只能为 Url.Action() 的调用放置 1 个参数。
我怎样才能让它工作?
asp.net-mvc-3 - 如何将哈希片段添加到 T4MVC 路由字典 ActionResult?
我有一个返回 ActionResult 的扩展方法(为演示目的而简化):
我在 Html.ActionLink 中使用它:
我正在为选项卡使用自定义 jQuery 插件,它使用这些哈希片段进行导航。我想通过将哈希片段标记到 URL 的末尾来添加要打开的选项卡。
Html.ActionLink 确实有片段的重载,即:
然而,这充满了令人讨厌的魔法字符串,T4MVC 旨在删除这些字符串。无论如何在我的静态扩展方法(GetTestActionResult)中将片段添加到路由字典中?
就像是:
我知道关于 SO 有两个类似的问题和答案,但它们并不能完全为我提供我正在寻找的东西。在将片段传递回视图之前,我需要将片段包装到 ActionResult 中:
更新:
使用下面 David Ebbo 的修复程序,我进行了以下更改。有点hacky,但它有效:
首先,我更改了返回 ActionResult 的内部函数,以便它还将片段添加为路由值(不理想但有效):
然后在视图中,它将该片段值从路由字典中复制出来,然后删除该路由值以确保完整性。
我确信有一种更漂亮的方法可以用 ActionResult 返回片段,但目前这可行。谢谢大卫。