如何从模型类生成一个动作链接?

15 浏览
0 Comments

如何从模型类生成一个动作链接?

在我的ASP.NET MVC 3应用程序中,我希望在模型类中生成一个动作链接,对应于在视图中调用Html.ActionLink。原因是我需要通过JSON返回链接给DataTables,以便在表格单元格中渲染它们。我应该如何做到这一点?\n具体来说,模型类包含一个返回包含我应用程序中链接的字符串的属性。DataTables接收模型类实例的JSON表示,并使用这个特定的属性来填充表格单元格。

0
0 Comments

问题的出现原因是希望从一个模型类中生成一个操作链接。然而,最好的做法是让控制器创建链接并设置属性的值,而不是让模型生成自己的链接。

解决方法是在控制器中创建并使用UrlHelper。可以通过以下方式在控制器中创建UrlHelper:

var url = new UrlHelper(ControllerContext.RequestContext);
url.Action(...);

如果没有访问控制器上下文(例如,决定在模型中单独于视图或控制器之外进行此操作),可以使用以下方式创建UrlHelper:

UrlHelper url = new UrlHelper(HttpContext.Current.Request.RequestContext);

这种方法非常有效,除了HTML链接本身的渲染。不过,这部分可以很容易地自己完成,谢谢。

0