Asp.net mvc 2 构建MVC ActionLink的正确方法

Asp.net mvc 2 构建MVC ActionLink的正确方法,asp.net-mvc-2,html-helper,partial-views,actionlink,Asp.net Mvc 2,Html Helper,Partial Views,Actionlink,我有一个像这样的MVC ActionLink(很好用) 但是,由于不“推荐”在视图中执行字符串操作,我想知道如何构建自定义Html ActionLink来为我执行字符串替换?自定义ActionLink似乎也是执行此操作的错误位置,最好通过自定义视图模型将Slug从控制器传递到视图。Slug可以是视图模型上的属性,也可以是setter中调用的字符串逻辑 例如,将UserViewModel类添加到“ViewModels”文件夹 然后在控制器中,将其传递给视图,如下所示: return View(

我有一个像这样的MVC ActionLink(很好用)



但是,由于不“推荐”在视图中执行字符串操作,我想知道如何构建自定义Html ActionLink来为我执行字符串替换?

自定义ActionLink似乎也是执行此操作的错误位置,最好通过自定义视图模型将Slug从控制器传递到视图。Slug可以是视图模型上的属性,也可以是setter中调用的字符串逻辑

例如,将UserViewModel类添加到“ViewModels”文件夹

然后在控制器中,将其传递给视图,如下所示:

return View(new UserViewModel(user))
有关ViewModel用法的详细信息:


对不起,你有这样的例子吗?说到MVCI,我还是个新手。忘了提到,上面的代码是在用户控件中使用的,而不是在常规视图中。哦,USECONTROL被加载到整个站点中使用的主页中。如果它在MistPoad上,那么你可能想考虑渲染动作而不是ReDelPoT,这样它就有了自己的控制器,你可以在自定义VIEW模型中通过。这与我的服务存储库中的UserMetaData类似吗?我为用户提供了一个扩展默认项的分部类。
public class UserViewModel
{
  public User User { get; private set; }
  public string Slug { get; private set; }

  public UserViewModel(User user)
  {
      Slug = Replace(user.UserName," ","-");
  }
}
return View(new UserViewModel(user))