如何合并两个匿名类型,以便结果包含两个源对象的属性?
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)
如果我在TagEF 上省略这些属性会产生一对多的关系.有没有办法离开了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