将数据从控制器传递到视图布局的最佳做法是什么?

我目前有一个MVC网站,需要在每个页面的标题上都有动态内容。 我目前在控制器中正常获取所需数据并将其放在View Model中。 在视图中,我获取数据并将模板部分粘贴到Viewbag中,最后,在主布局页面上,我获取Viewbag数据并将其传递给控制标题的部分。 我已经读过,我不应该尽可能使用Viewbag,而且我传递数据的次数感觉不对。 我能想到改善这一点的唯一方法是在主布局上创建一个部分,然后将部分/数据放在视图的部分中 – 但是,有大约30页,这再次感觉不像正确的路线。 是否有更好的方法来执行此操作/获取必须转到主视图的动态数据的最佳实践是什么?

DLL包含在exe.file中?

我用C#构建了一个项目。 从另一个项目我有5个DLL。 是否有可能在DLL中包含DLL,我只给1个文件给人而不是x文件? 我试过ILMerge,但是输出文件曾经用应用程序打开了一个命令提示符 – 没用。

在Windows Phone 8.1中拖延UIElement的拖放

我正在使用ManipulationDelta事件处理程序在屏幕上的canvas中拖放一个简单的椭圆。 我正在几个地方使用在线发布的标准方法。 以下是我的事件处理程序中的代码: Ellipse dragableItem = sender as Ellipse; TranslateTransform translateTransform = dragableItem.RenderTransform as TranslateTransform; double newPosX = Canvas.GetLeft(dragableItem) + translateTransform.X + e.Delta.Translation.X; double newPosY = Canvas.GetTop(dragableItem) + translateTransform.Y + e.Delta.Translation.Y; if (!isCanvasBoundary(newPosX, TestCanvas.ActualWidth – dragableItem.ActualWidth, 0)) translateTransform.X += e.Delta.Translation.X; if (!isCanvasBoundary(newPosY, TestCanvas.ActualHeight – dragableItem.ActualHeight, 0)) translateTransform.Y += e.Delta.Translation.Y; 拖放操作工作正常,但是当用户开始拖动到椭圆实际改变其位置之间时,存在大约1秒的令人讨厌的延迟。 我可以通过打印到调试器看到事件处理程序本身几乎立即完成执行,所以我猜它有一些事情可以为屏幕上的所有UIElements做预编程刷新率导致这种延迟? 反正这个问题呢?

图表工具在Visual Studio中显示为灰色

我正在尝试将图表添加到我的Visual Studio表单中,但按钮显示为灰色。 我正在使用.NET Framework 3.5和C#。 按照在线说明,我已经从这个链接下载并安装了dll文件: http : //www.microsoft.com/en-us/download/details.aspx?id = 14422我还添加了它们作为参考并添加了以下行在我的表单文件的顶部: using System.Windows.Forms.DataVisualization.Charting; 但按钮仍然是灰色的。 我错过了什么?

主键冲突:使用EF Code Firstinheritance

我有以下EF代码的第一个代码。 我收到以下exception: ‘GiftCouponPayment’不包含标识列。 表已在数据库中成功创建。 但是,我怎样才能摆脱这种exception呢? 另外,这个例外的原因是什么? 注意:我可以使用任何表模式,因为域模型(首先使用代码描述)被保留(并且可以查询数据)。 继续此exception后,还有另一个例外,如下所示: 保存不公开其关系的外键属性的实体时发生错误。 EntityEntries属性将返回null,因为无法将单个实体标识为exception的来源。 通过在实体类型中公开外键属性,可以更轻松地在保存时处理exception。 有关详细信息,请参阅InnerException。 {“违反PRIMARY KEY约束’PK_dbo.PaymentComponent’。无法在对象’dbo.PaymentComponent’中插入重复键。\ r \ n语句已终止。”} 参考 : entity framework:将表拆分为多个表 注意 :生成的数据库模式如下所示。 码: public class MyInitializer : CreateDatabaseIfNotExists { //Only one identity column can be created per table. protected override void Seed(NerdDinners context) { //context.Database.ExecuteSqlCommand(“CREATE UNIQUE INDEX IX_Payment_PayedTime ON Payment (PayedTime)”); context.Database.ExecuteSqlCommand(“DBCC CHECKIDENT (‘Payment’, […]

PDF阅读器

我想从我的.net应用程序中读取PDF文件。 有没有免费的图书馆可以做到这一点?

如果上一个param为null,则参数没有默认值?

我有这个查询似乎工作,除非我尝试在参数中传递空值: using (OleDbCommand com = new OleDbCommand(“INSERT INTO [GROUP] ([Group Number], [Group Name], [Address 1], ” + ” [Address 2], [City State Zip], [Phone], [Carrier Code], [Retail Plan Num 1], [Retail Plan Num 2], ” + ” [Retail Plan Num 3], [Retail Plan Num 4], [Retail Plan Num 5], [Plan Start Date 1], [Plan Start […]

Dal(带Entity Framework)和Model层进入MVC

首先,我使用EF到Dal层(来自MVC的separeted项目,相同的解决方案)。 EF的EDMX文件生成的模型是Model层的实际模型? 如果是这样,我如何访问这些模型以在MVC的View层中工作? 我认为直接从视图访问数据层以使用这些模型是错误的,如果我使用“我的模型”创建一个模型层并将Dal的模型转换为我的模型……它将是重复的代码。 可能我错了,但大多数都是错的。 用代码第一种方法,我无法弄清楚这一点。

Visual Studio减慢了应用程序

这是一个模糊的问题,但有什么我可以做的关于视觉工作室减慢应用程序? 如果我在visual studio之外运行可执行文件,它将以非常可接受的速度运行。 如果我在启动调试器的visual studio中运行它,它的运行速度会慢近200倍。 我试图卸载并重新安装Visual Studio无济于事。 我删除了所有的插件(ant和resharper),但仍然没有。 我在另一台计算机上的视觉工作室里运行了这个项目,速度很正常。 我该怎么做才能解决这个问题? 它似乎最近发生过,但可能会逐渐发生。 更新:我现在在其他视觉工作室中运行它,并且减速保持不变。 我唯一的结论就是以我在应用程序中的速度分配内存的方式导致调试器以某种方式降低速度。 有没有人经历过这种情况?

C#/ WPF – 我无法从后台工作者更新UI

我有一个代码,使用Tweetsharp库从特定的Twitter帐户获取推文,创建自定义UserControl实例,并将推文文本发布到该UserControl然后将其添加到StackPanel 。 但是,我必须得到很多推文,似乎应用程序会在向StackPanel添加用户控件时冻结。 我尝试过使用BackgroundWorker ,但直到现在我还不幸运。 我的代码: private readonly BackgroundWorker worker = new BackgroundWorker(); // This ( UserControl ) is used in the MainWindow.xaml private void UserControl_Loaded_1(object sender, RoutedEventArgs e) { worker.DoWork += worker_DoWork; worker.RunWorkerCompleted += worker_RunWorkerCompleted; worker.RunWorkerAsync(); } private void worker_DoWork(object sender, DoWorkEventArgs e) { int usrID; var service = new TwitterService(ConsumerKey, ConsumerSecret); service.AuthenticateWith(AccessToken, AccessTokenSecret); […]