在视图中使用T4MVC或MvcFutures来创建强类型链接。

15 浏览
0 Comments

在视图中使用T4MVC或MvcFutures来创建强类型链接。

我正在尝试从我的MVC3项目中减少/消除“魔术字符串”,想知道哪种方法更好:

1. 使用MvcFutures,类似这样做:

var title = "创建新客户"; 

Html.ActionLink

(c => c.Create(), title , new { @class = "button", title = title });

2. 使用T4MVC

哪个选项更灵活、性能更好、重构更容易等等?

有什么想法吗?

0
0 Comments

问题的出现的原因:T4MVC是一种可以使用嵌套类和属性引用视图和控制器动作的方法,而MvcFutures则是另一种方法。两种方法都可以解决在视图中使用强类型链接的问题,但T4MVC具有一些优势,比如易于发现可用选项,并且提供了最佳性能。然而,T4MVC的唯一缺点是需要保持生成的代码文件的最新状态。

解决方法:可以通过保持.tt文件打开或安装自动运行.tt文件的扩展来保持生成的代码文件的最新状态。此外,还可以使用T4MVC的虚拟ActionResult类编写自己的扩展,以提取必要的路由信息来生成结果标记。

文章内容如下:

T4MVC还是MvcFutures用于在视图中创建强类型链接?这个问题的出现是因为开发者们希望在视图中使用强类型链接。T4MVC是一种通过使用嵌套类和属性来引用视图和控制器动作的方法。相比之下,MvcFutures是另一种解决这个问题的方法。但是,T4MVC具有一些优势。首先,它可以很容易地发现可用选项,并提供了最佳性能。与使用lambda表达式的强类型方法相比,T4MVC的性能更好。此外,使用T4MVC的虚拟ActionResult类编写自己的扩展也变得非常容易。例如,可以编写一些ActionImage助手来提取必要的路由信息以生成相应的标记。

然而,T4MVC的唯一缺点是需要保持生成的代码文件的最新状态。为了解决这个问题,可以通过保持.tt文件打开或安装自动运行.tt文件的扩展来保持生成的代码文件的最新状态。这样做可以确保在视图中使用强类型链接时,代码文件是最新的。

总之,T4MVC是解决在视图中使用强类型链接的最佳方法。它提供了易于发现可用选项的优势,并且具有较好的性能。此外,使用T4MVC的虚拟ActionResult类编写自己的扩展也变得非常容易。虽然需要保持生成的代码文件的最新状态,但可以通过保持.tt文件打开或安装自动运行.tt文件的扩展来解决这个问题。

0
0 Comments

T4MVC和MvcFutures是用于在视图中创建强类型链接的两种方法。以下内容将介绍这个问题的出现原因以及解决方法。

T4MVC在性能上表现更好。您感兴趣的MvcFutures中的辅助方法使用表达式,而表达式的执行速度较慢(这也是为什么这些方法不在核心MVC程序集中的原因之一)。总体而言,您应该意识到MvcFutures可能存在性能和其他功能问题。

所以,问题的核心是,如何在视图中创建强类型链接?两种方法分别是T4MVC和MvcFutures。然而,T4MVC在性能上更好,而MvcFutures可能存在性能和其他功能问题。

为了解决这个问题,我们可以选择使用T4MVC。T4MVC是一个将控制器和动作转换为强类型链接的工具。它生成一个包含所有控制器和动作的类,这样我们就可以在视图中使用强类型的链接,而不是使用字符串。

下面是使用T4MVC的示例代码:

// 在控制器中
public ActionResult Index()
{
    return View();
}
// 在视图中
@Html.ActionLink("Go to Index", MVC.Home.Index())

通过使用T4MVC,我们可以在视图中使用MVC.Home.Index()方法来创建强类型链接,而不是使用字符串。这样可以减少错误,并提高代码的可维护性和可读性。

总结起来,T4MVC是一种用于在视图中创建强类型链接的更好的选择,因为它在性能上更优,并且能够提高代码的可维护性和可读性。相比之下,MvcFutures可能会存在性能和其他功能问题。因此,我们建议使用T4MVC来创建强类型链接。

0