如何合并两个匿名类型,以便结果包含两个源对象的属性?
var source1 = new
{
foo = "foo",
bar = "bar"
}
var source2 = new
{
baz = "baz"
}
var merged = Merge(source1, source2) // <-- here's where the magic should happen
// merged:
// {
// foo = "foo",
// bar = "bar",
// baz = "baz"
// }
Run Code Online (Sandbox Code Playgroud) 由于我将ASP.NET MVC 1应用程序的更新版本上传到服务器,因此Yellow Screen of Death已更改为以下内容:
I?%&/m?{J?J??t??
$ @ iG#)* eVe] f @ 흼 { { ; N' ?\fdl J ɞ! ?〜|?" Ey ')= y6 h ͼhR L w | 2= Ez< 7 :5 < + ??:? ?T????W?v?<[??~2?g?2??????y?hY???????t? _N???M?l?????{?,??Xn???Q?}?????*g???????7?? ~?
oy j'u>K { IW4 > U w | = -fYzR-
当通过远程桌面(Windows Server 2008 R2,IE8)直接在服务器上访问有错误的页面时,IE甚至会尝试下载响应,但会出现错误(消息框).
以前有人遇到过这个吗?不知道怎么解决这个问题?
我也发现了这个问题,看起来非常简单,但遗憾的是现在还没有得到解答:ASP.NET MVC应用程序显示奇怪的字符
任何人都知道一个很好的解决方案来本地化ASP.NET MVC中的路由?我想要实现的是这两个网址指向相同的动作/资源:
此外,应该有可能根据当前文化生成路线(或默认情况下,如果没有可用的翻译).或者,如果我能够只指定一种文化,以便上面两个链接中只有一个可以工作,那也是可行的.
我尝试了Maarten Balliauw的一个非常好的方法,但不幸的是他的解决方案无效Html.RenderAction(...)
.
当然,我可以添加所有翻译的路线,如
routes.MapRoute(
"Products_Categories",
"Produkte/Kategorien",
new { controller = "Products", action = "Categories" }
);
Run Code Online (Sandbox Code Playgroud)
但这将最终导致大量的路线,而且非常不灵活.任何更好的解决方案将不胜感激:-)越灵活越好.
localization internationalization asp.net-mvc-routing asp.net-mvc-3
我正在使用CKEditor 3.5在网站上提供WYSYWYG编辑.插入图像时,您可以提供图像的宽度和高度,从而产生如下HTML:
<img alt="" src="/Images/Sample.png" style="width: 62px; height: 30px; " />
Run Code Online (Sandbox Code Playgroud)
由于这会在浏览器和同一网站上的其他地方调整大小我使用Nathanael Jones的图像大小调整模块,我想得到以下输出:
<img alt="" src="Images/Sample.png?width=62&height=30" />
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法来控制生成的HTML或者我真的要为CKEditor编写自己的对话框/插件?
编辑:
将以下行添加到config.js是最终为我工作的解决方案:
CKEDITOR.on('dialogDefinition', function (ev) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
var dialog = dialogDefinition.dialog;
var editor = ev.editor;
if (dialogName == 'image') {
dialogDefinition.onOk = function (e) {
var imageSrcUrl = e.sender.originalElement.$.src;
var width = e.sender.originalElement.$.width;
var height = e.sender.originalElement.$.height;
var imgHtml = CKEDITOR.dom.element.createFromHtml('<img src=' + imageSrcUrl + '?width=' + width + '&height=' + …
Run Code Online (Sandbox Code Playgroud) 在阅读了ASP.NET MVC 2 in Action并观看Jimmy Bogard的MvcConf演讲(强烈推荐!)之后,我开始实现他们的一些想法.
他们做的很酷的事情之一,不仅是使用AutoMapper将您的实体映射到某个视图模型,而且还使用AutoMapViewResult自动执行此操作:
public class EventsController : BaseController
{
public ActionResult Show(Event id) // EntityModelBinder gets Event from repository
{
return AutoMapView<EventsShowModel>(id); // AutoMapView<T>(model) is a helper method on the BaseController, that calls AutoMapViewResult<T>(...)
}
}
// not exactly what you'll find in the book, but it also works :-)
public class AutoMapViewResult<TDestination> : ViewResult
{
public AutoMapViewResult(string viewName, string masterName, object model)
{
ViewName = viewName;
MasterName = masterName;
ViewData.Model = …
Run Code Online (Sandbox Code Playgroud) 给定以下类的集合:
public class Post
{
...
public IList<string> Tags { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以Post
使用LINQ 获取包含以"foo"开头的标记的所有s?
var posts = new List<Post>
{
new Post { Tags = new[] { "fooTag", "tag" }},
new Post { Tags = new[] { "barTag", "anyTag" }},
new Post { Tags = new[] { "someTag", "fooBarTag" }}
};
var postsWithFooTag = posts.Where(x => [some fancy LINQ query here]);
Run Code Online (Sandbox Code Playgroud)
postsWithFooTag
现在应该包含第1项和第3项posts
.
我有一个DbContext,设置了不同的DbSet<T>
s,所有类型派生自同一个基类:
public class Foo : Entity { }
public class Bar : Entity { }
MyDbContext : DbContext
{
public DbSet<Foo> Foos { get; set; }
public DbSet<Bar> Bars { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
是否可以Entity
在一个查询中获取具有基类的所有实体,例如:
DbContext.Set<Entity>(); // doesn't work
Run Code Online (Sandbox Code Playgroud)
我试图向DbSet<Entity>
DbContext 引入一个显式,但这会为数据库中的所有实体生成一个大表.
附加问题:如果这种方式有效,那么查询接口呢?
编辑:
我按照Ladislav Mrnka 链接的说明进行操作,并按照以下方式完成了我的映射:
MyDbContext : DbContext
{
public DbSet<Entity> Entities { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
// Foo
modelBuilder.Entity<Foo>().Map(x =>
{
x.MapInheritedProperties();
x.ToTable("Foo");
})
.HasMany(x => …
Run Code Online (Sandbox Code Playgroud) mapping inheritance base-class ef-code-first entity-framework-4.1
我正在寻找一个在ASP.NET MVC网站上国际化/本地化路由的解决方案.我偶然发现Maarten Balliauw撰写的翻译路线(ASP.NET MVC和 Webforms )的博客文章.他提出了一个非常好的解决方案,效果很好 - 直到Html.RenderAction("...")
视图中有一个.
基本上他引入了一个TranslatedRoute
继承System.Web.Routing.Route
,而不是使用带有翻译的字典进行翻译.
知道调用时这种行为有何不同Html.RenderAction("...")
?此外,似乎只发生错误,如果应该呈现的操作是在同一个控制器中.
这是确切的错误:
"未找到路径'/ MyTranslatedControllerName'的控制器或未实现IController."
更新:
这是我的路线配置(取自Maarten的示例项目,添加了Contact的路线,这是要渲染的部分路线):
public static void RegisterRoutes(RouteCollection routes)
{
CultureInfo cultureEN = CultureInfo.GetCultureInfo("en-US");
CultureInfo cultureDE = CultureInfo.GetCultureInfo("de-DE");
CultureInfo cultureFR = CultureInfo.GetCultureInfo("fr-FR");
DictionaryRouteValueTranslationProvider translationProvider = new DictionaryRouteValueTranslationProvider(
new List<RouteValueTranslation> {
new RouteValueTranslation(cultureEN, "Home", "Home"),
new RouteValueTranslation(cultureEN, "About", "About"),
new RouteValueTranslation(cultureEN, "Contact", "Contact"),
new RouteValueTranslation(cultureDE, "Home", "Home"),
new RouteValueTranslation(cultureDE, "About", "About"),
new RouteValueTranslation(cultureDE, "Contact", "Kontakt"),
new RouteValueTranslation(cultureFR, "Home", "Demarrer"),
new …
Run Code Online (Sandbox Code Playgroud) 为什么我InvalidCastException
试图这样做?
throw (ArgumentNullException)(new Exception("errormessage", null));
Run Code Online (Sandbox Code Playgroud)
这是以下功能的简化版本.
public static void Require<T>(bool assertion, string message, Exception innerException) where T: Exception
{
if (!assertion)
{
throw (T)(new Exception(message, innerException));
}
}
Run Code Online (Sandbox Code Playgroud)
完整的错误消息是:
System.InvalidCastException:无法将类型为"System.Exception"的对象强制转换为"System.ArgumentNullException".
给定这些类,使用EF 4.1 Code First,这将(按照惯例)留给页面和标记之间的多对多关系:
public interface ITaggable
{
ICollection<Tag> { get; set; }
}
public class Page : ITaggable
{
public virtual ICollection<Tag> { get; set; }
}
public class Tag
{
public virtual ICollection<Page> { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
由于我有一堆其他类,实现ITaggable
我必须将所有这些集合添加到Tag
:
public class Tag
{
public virtual ICollection<Page> { get; set; }
public virtual ICollection<Post> { get; set; }
public virtual ICollection<Event> { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
如果我在Tag
EF 上省略这些属性会产生一对多的关系.有没有办法离开了ICollection<T>
上Tag
并获得了许多一对多的关系呢? …
mapping many-to-many entity-framework ef-code-first entity-framework-4.1
asp.net-mvc ×3
c# ×3
asp.net ×2
mapping ×2
automapper ×1
base-class ×1
casting ×1
ckeditor ×1
exception ×1
inheritance ×1
linq ×1
localization ×1
many-to-many ×1
routing ×1
viewmodel ×1