我使用Automapper将数据从objectA传输到objectB
classe ObjectA
{
string Title;
string Summary;
}
classe ObjectB
{
string Title;
string Summary;
IAddress Address;
}
Run Code Online (Sandbox Code Playgroud)
我在两个对象之间创建了这种映射
AutoMapper.Mapper.CreateMap<IObectA, IObjectB>()
.ForMember(dest => dest.Title, src => src.MapFrom(s => s.Title))
.ForMember(dest => dest.Summary, src => src.MapFrom(s => s.Summary))
.ForMember(dest => dest.Address, src => src.Ignore())
Run Code Online (Sandbox Code Playgroud)
我创建我的ObjectB并填充其所有属性,包括地址
当我调用mapper时,我希望它覆盖Title和Summary并忽略Address
ObjectB = Mapper.Map<IObjectA, IObjectB>(objectA);
Run Code Online (Sandbox Code Playgroud)
实际上,它是地址的抛出和异常.
我究竟做错了什么?
[更新] 为了表达不同,我有我的objectB,我想用来自ObjectA的数据更新它的一部分.当我说Ignore时,我的意思是以他们已经存在的方式保留数据
我有一个具有多个属性和函数的全局JavaScript对象,我正在以这种方式创建它:
myObject = {};
Run Code Online (Sandbox Code Playgroud)
我认为我可以通过创建这样的东西轻松扩展这个对象
myObject = { propA1 : null, ....., propAN : null};
Run Code Online (Sandbox Code Playgroud)
代替
myObject.propA1 = null;
myObject......;
myObject.propAN = null;
Run Code Online (Sandbox Code Playgroud)
我的做法有什么问题?
我有这个javascript对象
var options:
{
windowTitle : '....',
windowContentUrl : '....',
windowHeight : 380,
windowWidth : 480
}
Run Code Online (Sandbox Code Playgroud)
我有这个C#类
public class JsonDialogViewModel
{
public string WindowTitle { get; set; }
public string WindowContentUrl { get; set; }
public double WindowHeight { get; set; }
public double WindowWidth { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
你看,我的符号是C#中的PascalCase,而我的Javascript是CamelCase.通常的惯例.
我正在使用JavaScriptSerializer().Serialize来序列化我的C#对象并在我的Javascript代码中使用它.
然而,我面临的问题是PascalCase到CamelCase,JavaScriptSerializer().Serialize无法处理.
您有什么建议来解决这个翻译?
谢谢
如何访问Visual Studio 2010生成的MSDEPLOY命令行.
我问,因为当我手动运行MSDEPLOY时,我可以轻松地在远程服务器上部署,当我在Visual Studio中运行它时,我收到此错误
Web部署任务失败.(无法联系远程代理(url https:// xxxx:8172/msdeply.axd?site =默认网站)确保在目标计算机上安装并启动了远程代理服务.收到了.响应标题'MSDeploy.Response'是''但是'v1'是预期的
远程服务器返回错误:(404)未找到
如何在配置文件中注册实例
我有这个代码:
UnityContainer.RegisterInstance<ICache>(new CacheMng(HttpRuntime.Cache));
Run Code Online (Sandbox Code Playgroud)
并尝试在配置文件中具有等效项
<register type="ICache" mapTo="CacheMng">
<lifetime type="Singleton"/>
<constructor>
<param name="cache" type="System.Web.Caching" value="HttpRuntime.Cache"/>
</constructor>>
</register>
Run Code Online (Sandbox Code Playgroud)
我的CacheMng类有这个构造函数
public CacheMng(Cache cache)
{
this._cache = cache
}
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误
无法解析类型名称或别名System.Web.Caching
以下是上下文:
ASP MVC3 - IIS 7
我正在使用ElMah配置得很好,因为MVC几乎无处不在.它正在发挥作用.
这是我在配置文件中的内容
<system.web>
<httpRuntime maxRequestLength="1024" enableVersionHeader="false" />
<customErrors mode="On" defaultRedirect="~/Error/Generic" />
...
<system.webServer>
<httpErrors errorMode="Detailed" existingResponse="PassThrough" defaultPath="~/Error/Generic" defaultResponseMode="ExecuteURL"></httpErrors>
Run Code Online (Sandbox Code Playgroud)
现在这是我的问题我花了整整一天试图捕获这个错误:当我提交超过1024字节的文件时"超出最大请求长度"
在asp错误和IIS错误之间,有时IE拦截,我变得疯狂,我无法理解为什么这么复杂.我已经尝试过这些解决方案,没有一个能为我 解决方案1 解决方案2
谢谢您的帮助
有没有办法让我的DI容器中注册的所有对象的列表.ResolveAll给出了一个类型的列表,但我想要一个所有类型的通用列表
使用AutoMapper,我使用ValueResolver返回这样的结构
struct MyStruct
{
public int propA;
public int propB;
public int propC;
}
class MyResolver : ValueResolver<MyViewModel, MyStruct>
{
protected override MyStruct ResolveCore(MyViewModel source)
{
....return MyStruct data
}
}
Run Code Online (Sandbox Code Playgroud)
我返回了一个结构,因为映射规则非常复杂,我无法为每个属性编写自定义解析器,因为它们彼此相关.
所以我的想法是在一个返回结构并使用它的解析器中执行此操作
AutoMapper.Mapper.CreateMap<MyViewModel, myData>()
.ForMember(dest => dest.SomePropA, src => src.ResolveUsing<MyResolver>().propA))
.ForMember(dest => dest.SomePropB, src => src.ResolveUsing<MyResolver>().propB))
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.
看起来好像src.ResolveUsing<MyResolver>()
没有返回结构
任何帮助都非常感谢.
谢谢.
嗨,我有一个div元素,其中包含一个像这样的复选框列表
<ul>
<li><input type="checkbox" ID="check1" /><label for="check1">Monday</label></li>
<li><input type="checkbox" ID="check2" checked="checked"/><label for="check2">Tuesday</label></li>
<li><input type="checkbox" ID="check3" /><label for="check3">Wednesday</label></li>
<li><input type="checkbox" ID="check4" checked="checked"/><label for="check4">Thursday</label></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想在"星期二 - 星期四"之类的字符串中检查值.所以我写了这个非常简洁的jQuery指令
$('input:checked', 'ul').next().text()
Run Code Online (Sandbox Code Playgroud)
这给了我'星期二星期四'.我找不到通过分隔符的方法,并且'周二 - 周四'
如何为不以给定单词开头的内容编写正则表达式
我们假设我有以下列表
我想要一个正则表达式,除了6月和7月之外它们都会返回,因为它们以Ju开头
我写了类似这样的东西^ [^ ju]但是这返回任何以J或U 开头我需要以Ju开头的东西
MVC 3 RC
我注册了System.Web.Razor和System.Web.WebPages.Razor,但仍然在我的View/web.Config中无法识别System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup
用于Razor的Intellisence不起作用我的配置有什么问题
我正在使用Entity Framework 4.1并尝试连接到MVC Web应用程序内的新SQLServerCE 4.0数据库.我正在使用此代码
Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0", "|DataDirectory|", "test.sdf");
Run Code Online (Sandbox Code Playgroud)
它引发了这个例外:
初始化字符串的格式不符合从索引86开始的规范.
这段代码出了什么问题?
如果我使用
Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0")
Run Code Online (Sandbox Code Playgroud)
它工作并创建一个数据库,其名称与我的程序集名称相匹配.
c# ×3
javascript ×3
automapper ×2
.net ×1
asp.net-mvc ×1
camelcasing ×1
iis-7 ×1
join ×1
jquery ×1
msdeploy ×1
object ×1
pascalcasing ×1
razor ×1
regex ×1