编辑:我使用ViewModels填充和读取视图中的数据做得更好,称为ValueInjecter.http://valueinjecter.codeplex.com/
它被http://prodinner.codeplex.com使用 - 一个ASP.net MVC示例应用程序
您可以在prodinner中看到使用ViewModel的最佳方式
使用ViewModel存储映射逻辑并不是一个好主意,因为有重复和SRP违规,但现在使用ValueInjecter我有干净的ViewModels和干映射代码
public class OrganisationBadViewModel
{
//paramterless constructor required, cuz we are gonna get an OrganisationViewModel object from the form in the post save method
public OrganisationViewModel() : this(new Organisation()) {}
public OrganisationViewModel(Organisation o)
{
Organisation = o;
Country = new SelectList(LookupFacade.Country.GetAll(), "ID", "Description", CountryKey);
}
//that's the Type for whom i create the viewmodel
public Organisation Organisation { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud) 它是这样的method(a,b);,你打了一些热键,你得到了method(b,a);
这样的事情?
如果我用这样的属性装饰我的ViewModels的属性:
public class Vm
{
[Required]
[StringLength(35)]
public string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我将获得英语验证消息:
"this field is required"
"The field Name must be a string with a maximum length of 35"
Run Code Online (Sandbox Code Playgroud)
我怎么能翻译它们?
有没有办法在C#中锁定一个整数?整数不能与锁一起使用,因为它们是盒装的(并且只锁定引用上的锁).
场景如下:我有一个基于论坛的网站,具有审核功能.我想要做的是确保在任何给定时间不超过一个主持人可以调节帖子.为此,我想锁定帖子的ID.
到目前为止我有几个想法(例如使用字典<int,object>),但我正在寻找一种更好,更清洁的方法.
有什么建议?
我有视图显示模型中的一些数据.我有提交按钮,onClick事件应该更改模型的值,我传递的模型具有不同的值,但我在TextBoxFor中的值保持与页面加载时相同.我怎样才能改变它们?
我需要Url.Content("~\stuff\")控制器代码的结果,
我怎么得到这个?
在这个网站上,如果你点击次数过多或发表评论太快或类似的话,你会被重定向到"你是一个人"屏幕.有人知道怎么做类似的事吗?
如何检测在asp.net mvc中使用ajax调用页面的时间?
是否有一些客户端组件(jquery/swf)可以在浏览器中上传和裁剪(用户应该能够选择要裁剪的区域)图像,然后将裁剪后的图像发送到服务器?
我在asp.net-mvc上(不确定是否重要)