我有两个类,我用作两个不同视图的模型.您可以看到第二个类包含第一个类的实例.第一个包含远程验证属性.
[MetadataType( typeof( ExceptionLogModel.EmailRecipientMetadata ) )]
public class EmailRecipientViewModel
{
public int EmailRecipientID { get; set; }
[Remote( "ValidateEmailRecipientNameUniqueness", "EmailRecipient", ErrorMessage = "Name is not unique." )]
public string Name { get; set; }
[Remote( "ValidateEmailRecipientEmailUniqueness", "EmailRecipient", ErrorMessage = "Email is not unique." )]
public string Email { get; set; }
}
public class EmailRecipientChoices
{
public List<EmailRecipient> UnselectedEmailRecipients { get; set; }
public List<EmailRecipient> SelectedEmailRecipients { get; set; }
public EmailRecipientViewModel EmailRecipient { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当这些验证在浏览器中触发时,将根据视图使用的类生成两个不同的请求.您可以看到查询字符串参数名称不同:
http://localhost:55327/EmailRecipient/ValidateEmailRecipientNameUniqueness?Name=sdhsdgh …Run Code Online (Sandbox Code Playgroud) 更新:最近已使用Visual Studio 2012 Update 2修复此问题(Visual Studio 2012 Web发布不复制文件)
我正在使用Visual Studio 2012 Web发布向导.我有一些保存的个人资料.适用于各种开发和测试服务器.在两个不同的项目中,对于某些发布配置文件,向导实际上不会部署任何文件.它删除服务器上的现有文件,然后不部署任何内容.
这是我进入输出窗口:(在这个例子中,我尝试切换"删除目标文件"选项,看看它是否会有所作为.它没有.)
1>------ Build started: Project: WebProject, Configuration: Prod Any CPU ------
1> WebProject -> C:\_TFS\WebProject\Release\R2012-10-16\Source\WebProject\Website\bin\Website.dll
2>------ Publish started: Project: Website, Configuration: Prod Any CPU ------
2>Connecting to C:\Deployments\Web Sites\Website...
2>Transformed Web.config using C:\_TFS\Website\Release\R2012-10-16\Source\Website\Website\Web.Prod.config into obj\Prod\TransformWebConfig\transformed\Web.config.
2>Copying all files to temporary location below for package/publish:
2>obj\Prod\Package\PackageTmp.
2>Publishing folder /...
2>
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 1 succeeded, 0 failed, …Run Code Online (Sandbox Code Playgroud)