小编Bry*_*yan的帖子

AutoMapper - 如何使用ConstructedBy方法将参数传递到自定义解析器?

在我的ASP.NET MVC 2(RC)项目中 - 我使用AutoMapper在Linq到Sql类(Media)和视图模型(MediaVM)之间进行映射.视图模型具有SelectList属性,用于视图中的下拉列表.我有一个自定义值解析器来填充从数据库中选择列表的属性项,但不知道是否有(使用ConstructedBy方法?)的)定义选择的项目和b通过从源模型一对夫妇的值到解析器的方式)过滤数据库中的项目.源对象被传递到自定义解析 - 但是解析器对不同类型的源对象的几种不同的视图模型使用,所以宁可确定从哪里我的测绘配置得到的值.这是我的视图模型:

public class MediaVM
{
    public bool Active { get; set; }
    public string Name { get; set; }

    [UIHint("DropDownList")]
    [DisplayName("Users")]
    public SelectList slUsers { get; private set; }
}        
Run Code Online (Sandbox Code Playgroud)

automapper映射配置:

    Mapper.CreateMap<Media, MediaVM>()
        .ForMember(dest => dest.slUsers, opt => opt.ResolveUsing<UsersSelectListResolver>());
Run Code Online (Sandbox Code Playgroud)

能够在.ForMember映射子句上执行类似的操作会很高兴:

.ConstructedBy(src => new UsersSelectListResolver(src.UserID, src.FilterVal))
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

.net c# asp.net-mvc viewmodel automapper

6
推荐指数
2
解决办法
1万
查看次数

当没有指定区域时,ASP.NET MVC 2 RC 2返回特定于区域的控制器

我有一个带有一个基本级控制器("Home")的基本MVC 2(RC2)站点,以及一个带有一个控制器("Abstract")的区域("Admin").当我调用http:// website/Abstract时 - 即使我没有在URL中指定Area,也会调用Admin区域中的Abstract控制器.更糟糕的是 - 它似乎并不知道它在Admin下,因为它找不到相关的视图而只返回:

The view 'Index' or its master was not found. The following locations were searched:
~/Views/Abstract/Index.aspx
~/Views/Abstract/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?这是一个错误吗?一项功能?

routes areas asp.net-mvc-2

5
推荐指数
1
解决办法
2448
查看次数

标签 统计

.net ×1

areas ×1

asp.net-mvc ×1

asp.net-mvc-2 ×1

automapper ×1

c# ×1

routes ×1

viewmodel ×1