ASP.NET MVC-为控制器中的视图生成html

ASP.NET MVC-为控制器中的视图生成html,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有一个MySmartAnchor方法,它输出一个Html链接。根据我传递给MySmartAnchor的对象,它将设置特定的css类和工具提示 我觉得这是太多的逻辑,不能放在一个角度。我不想将这个方法添加到HtmlHelper方法中,因为它解决了一个特定的场景。所以我想把这个逻辑放在一个控制器中,并从一个视图调用它,比如So@Model.MySmartAnchor(someObject) 我走对了吗?这应该在视图中完成,放在助手方法或控制器中吗?我也想过要有一个部分,但在我看来,这是一个过度的链

我有一个MySmartAnchor方法,它输出一个Html链接。根据我传递给MySmartAnchor的对象,它将设置特定的css类和工具提示

我觉得这是太多的逻辑,不能放在一个角度。我不想将这个方法添加到HtmlHelper方法中,因为它解决了一个特定的场景。所以我想把这个逻辑放在一个控制器中,并从一个视图调用它,比如So@Model.MySmartAnchor(someObject)


我走对了吗?这应该在视图中完成,放在助手方法或控制器中吗?我也想过要有一个部分,但在我看来,这是一个过度的链接

似乎很适合创建。若这只是一个特定于视图的辅助对象,那个么应该将其创建到使用它的同一个视图中。否则,在
App\u code
中创建助手,以便在多个视图中使用它。ScottGu引用的文章也涵盖了这一点。

也许一个解决方案是确定HTML助手方法的范围。通过这种方式,我可以编写一个特定于此场景的html帮助器方法,并将其应用于此页面。在看到您的答案之前,我正要推荐一个html帮助器。不知道剃须刀助手可以在应用程序级别使用。谢谢看来,作用域帮助器就是答案。我很困惑,因为我认为如果我创建一个helper方法,它将在每个视图上都可用。我能够将helper方法放在它自己的类中,并在它自己的名称空间中对其进行作用域,该名称空间特定于我正在使用的视图。