标签: viewmodel

EditorFor我模型中的项目集合

我的ViewModel有一个属性,它是我的另一个模型实体的集合,在本例中是CategoryTags(并且每个标记都有一个Tag和一个ID).

1)我是否理解Html.EditorFor()没有可以为ICollection创建的UI?

2)假设#1,我决定创建一个EditorTemplate,这是一个文本框,我的用户可以键入以逗号分隔的标记名称,jquery将自动完成.我是否必须传回标签名称列表(或其各自的ID),然后在POST时将它们解析回CategoryTags propety?

谢谢!

viewmodel editorfor asp.net-mvc-3

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

如何在AutoMapper中处理自定义属性

我有一个ViewModel,它接受一些Model数据并略微改变它.

我这样做的方式"有效",因为我只是将其传递DomainModel给构造函数ViewModel,但由于我在一些一对一的ViewModel上使用AutoMapper,我想我会尝试学习如何做跨所有ViewModel的映射.

这是ViewModel的一个例子,它可以做一些额外的工作.

public class UsersDetailsViewModel
{
    public string UserName { get; set; }
    public string Email { get; set; }
    public string Website { get; set; }
    public int ID { get; set; }
    public List<OpenID> OpenIds { get; set; }
    public string UserAge { get; set; }
    public string About { get; set; }
    public string Slug { get; set; }
    public System.DateTime LastSeen { get; set; }
    public string Region { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# viewmodel automapper asp.net-mvc-3

21
推荐指数
2
解决办法
3万
查看次数

Knockout.js:页面或页面的一部分上的多个ViewModel绑定

我想知道是否可以使用Knockout.jsko.applyBindings()多次不同的ViewModels绑定到页面的一个部分.例如,假设我有这个:

<div id="foo">...</div>
...
ko.applyBindings(new PageViewModel());
ko.applyBindings(new PartialViewModel(), $('#foo')[0]);
Run Code Online (Sandbox Code Playgroud)

我现在正在应用两个ViewModel绑定<div id="foo>.这合法吗?

mvvm viewmodel knockout.js

21
推荐指数
3
解决办法
3万
查看次数

使用具有存储库模式的View-Models

我使用领域驱动n层应用程序体系结构EF code first我在最近的项目中,我定义我的Repository合同,在Domain层.制定其他Repositories不那么冗长的基本合同:

public interface IRepository<TEntity, in TKey> where TEntity : class
{
   TEntity GetById(TKey id);
   void Create(TEntity entity);
   void Update(TEntity entity);
   void Delete(TEntity entity);
}
Run Code Online (Sandbox Code Playgroud)

并且Repositories每个都是专门的Aggregation root,例如:

public interface IOrderRepository : IRepository<Order, int>
{
    IEnumerable<Order> FindAllOrders();
    IEnumerable<Order> Find(string text);
    //other methods that return Order aggregation root
}
Run Code Online (Sandbox Code Playgroud)

如您所见,所有这些方法都依赖于Domain entities.但在某些情况下,应用程序UI需要一些不是Entity数据的数据,这些数据可能来自两个或更多的肠炎数据View-Model,在这些情况下,我定义了View-Models in Application layer,因为它们非常依赖于Application's需求而不是到了 …

c# entity-framework repository viewmodel ef-code-first

21
推荐指数
1
解决办法
7030
查看次数

如何使用ASP.NET MVC中的基本控制器创建强类型母版页

NerdDinners示例之后,我有兴趣创建一个强类型的母版页.为了实现这一点,我使用一个基本控制器来检索母版页的数据.所有其他控制器都继承此类.同样,我有ViewModels主页和任何其他视图.视图ViewModel类继承自母版页ViewModel.

子控制器应该如何确保将母版页的数据传递给View而不设置ViewModel与母版页本身相关的属性?

我的母版页将显示一些按钮,这些按钮在XML文件中确定,因此Buttons我填充的类.

MasterPage ViewModel代码段

using System.Collections.Generic;

namespace Site1.Models
{
    public class MasterViewModel
    {
        public List<Button> Buttons{set; get;}
    }
}
Run Code Online (Sandbox Code Playgroud)

视图 ViewModel

namespace Site1.Models
{
    public class View1ViewModel : MasterViewModel
    {
        public SomeDataClass SomeData { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

基础控制器

using System.Collections.Generic;
using System.Web.Mvc;
using Site1.Models;

namespace Site1.Controllers
{
    public abstract class BaseController : Controller
    {
        protected MasterViewModel model = new MasterViewModel();

        public BaseController()
        {
            model.Buttons …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc controller master-pages viewmodel

20
推荐指数
2
解决办法
7997
查看次数

如何在ASP.NET MVC3中填充ViewModel

在我的控制器中,我有一个ProductInfo来自我的域模型的类,我需要它的一些信息来填充我的视图模型 ProductStatsVM.

如何填充视图模型?我听说过三种可能的方法:

  1. 直接从控制器填充视图模型(不好,我想让控制器保持苗条)
  2. 通过使用View Model构造函数并将域模型作为参数传递.(我必须为我想要使用的每个域模型类创建一个构造函数)
  3. 通过使用Fill()方法.(我在网上看到它,不知道它是如何工作的我猜这种方式ViewModel应该知道服务层并创建耦合).

我知道有些像AutoMapper这样的工具,我确实会使用它,但之前我想了解如何在不使用任何其他工具的情况下从Controller中填充视图模型的逻辑.

c# fill viewmodel asp.net-mvc-3

20
推荐指数
1
解决办法
6521
查看次数

在ASP.NET MVC中验证ViewModel

关于如何在ASP.NET MVC中实现验证的大多数技巧似乎都围绕模型(在模型和控制器之间构建服务层或使用验证属性装饰模型的属性).

在我的应用程序中,我使用ViewModels进行控制器和视图之间的所有通信.

我的登录页面有一个名为"LoginViewModel"的ViewModel,其中包含一个名为"EmailAddress"的属性.

当用户输入其电子邮件地址并单击"提交"时,将填充此ViewModel并将其发送到控制器,在该控制器中验证电子邮件地址.

它必须是有效的电子邮件地址,并且用户必须来自在系统中注册的域.

为此添加验证的便捷方法是什么?我应该将验证放在ViewModel本身吗?还是应该留在控制器中?

validation asp.net-mvc viewmodel

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

WPF MVVM:ViewModels如何相互通信?

我有一个View,它有2个子视图,ViewModel分配给每个视图:

ViewA - ViewModelA
{ 
   ViewB - ViewModelB
   ViewC - ViewModelC
}
Run Code Online (Sandbox Code Playgroud)

ViewB有一个文本框,ViewC有一个组合框,我需要从ViewModelA访问这两个组合框.不是GUI控件本身,而是绑定值,即文本框的.Text和ComboBox的.SelectedItem.目前我只将ViewModelB和ViewModelC作为ViewModelA的属性,但感觉不对.

视图模型在不破坏MVVM模式的情况下相互通信的标准方法是什么?

wpf mvvm viewmodel

19
推荐指数
1
解决办法
6915
查看次数

MVC ViewModels和Entity Framework查询

我是MVC和实体框架的新手,我有一个关于正确/首选方式的问题.

我一直在关注Nerd Dinner MVC应用程序,因为我正在编写这个应用程序.我有一个页面,其中包含来自几个不同地方的数据.它显示来自几个不同表的详细信息,并且还具有查找表中的下拉列表.

我创建了一个包含所有这些信息的ViewModel类:

class DetailsViewModel {
    public List<Foo> DropdownListData { get; set; }

    // comes from table 1
    public string Property1 { get; set; } 
    public string Property2 { get; set; }

    public Bar SomeBarObject { get; set; } // comes from table 2
}
Run Code Online (Sandbox Code Playgroud)

在Nerd Dinner代码中,他们的例子有点过于简单化了.DinnerFormViewModel采用单个实体:Dinner.根据晚餐,它根据晚餐地点为各国创建一个SelectList.

由于简单,它们的数据访问代码也非常简单.他有一个简单的DinnerRepository,其方法名为GetDinner().在他的行动方法中,他可以做一些简单的事情:

Dinner dinner = new Dinner();

// return the view model
return View(new DinnerFormViewModel(dinner));
Run Code Online (Sandbox Code Playgroud)

要么

Dinner dinner = repository.GetDinner(id);

return View(new DinnerFormViewModel(dinner));
Run Code Online (Sandbox Code Playgroud)

我的查询比这复杂得多,从多个表中提取...创建一个匿名类型:

var query = from a in ctx.Table1
            where …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc entity-framework repository-pattern viewmodel

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

cr_VariationsUtils:读取种子文件失败

我在第一次选择语言后启动片段时获取此日志,即更改Locale以及第一次根据所选语言加载字符串资源.

E/cr_VariationsUtils: Failed reading seed file "/data/user/0/com.example.sample/app_webview/variations_seed_new": /data/user/0/com.example.sample/variations_seed_new (No such file or directory)

E/cr_VariationsUtils: Failed reading seed file "/data/user/0/com.example.sample/app_webview/variations_seed": /data/user/0/com.example.sample/app_webview/variations_seed (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

android locale viewmodel

19
推荐指数
1
解决办法
2445
查看次数