草庐IT

c# - ASP.NET MVC 5 - 获取当前 View 的名称(Razor .cshtml 端)

我是一名学生,对ASP.NETMVC还很陌生,我来自ASP.NETWebForm。(习惯了)我有一个列表:HomeProducts14Categories9Users1我的目标:通过渲染哪个View,我想给被点击的添加“active”。例子:我点击“Category”,然后Home失去了他的事件类,Category将“active”添加到他的类中。(与“bg-hover-black”相反)我以为我可以通过检查实际呈现的View来做到这一点,但我不知道该怎么做。(我不知道如何检查渲染的实际View,但使用Razor来检查条件是可以的)我首先尝试使用JavaScript:$(functio

c# - 为什么 View 模型为空?

我有以下结构:Controller.cspublicActionResultPageMain(stringparam){returnView();}PageMain.csnamespaceproject1.Models{publicclassPageMain{publicDataTabledtable{get{//somecodethatreturnsaDataTable}}}}最后在View中:@usingproject1.Models@modelPageMainvardatatable=Model.dtable//butthisisthrowinganerrorsincethemo

c# - 我如何在我的单元测试中模拟 Controller 上下文,以便我对字符串函数的部分 View 起作用?

我正在尝试为我的Controller创建一个单元测试,但我正在测试的操作使用部分View来字符串函数,它不想在我的测试中工作。privatestringRenderPartialViewToString(stringviewName,objectmodel=null){if(string.IsNullOrEmpty(viewName))viewName=ControllerContext.RouteData.GetRequiredString("action");ViewData.Model=model;using(System.IO.StringWritersw=newSystem.

c# - View 是否应该间接绑定(bind)到 MVVM 模型中的属性?

假设我有一个View。它的DataContext绑定(bind)到ViewModel并且ViewModel公开了一个Model属性。MVVM是否喜欢将View中的字段绑定(bind)到Model中的属性(例如BindingPath=Model.FirstName)?Model是否应该实现INotifyPropertyChanged?我的团队在WPF中使用Prism和MVVM。许多Prism示例间接绑定(bind)到Model。我个人怀疑这是正确的方法。我认为模型中的内容应该公开行为(不仅仅是在属性级别)并且应该通过,呃,events来传达重要事件-客户可以订阅或不订阅.我认为通过让域/

c# - 在 ASP.NET 5 中将 Razor View 呈现为字符串

在以前的ASP.NET版本中,虽然不是很简单,但可以将RazorView呈现为字符串。我似乎使用的方法是使用假Controller,或者也使用一些外部引擎,如RazorEngine.现在,ASP.NET5改变了很多东西,我想知道现在是否比以前更简单了。那么在新版本的框架中,是否有一种直接的方法将RazorView呈现为字符串,或者我们仍然需要使用以前版本中的方法? 最佳答案 我使用从IServiceProvider注入(inject)的以下类型:ICompositeViewEngineviewEngine;ITempDataProv

c# - 从后台线程通知 UI 线程

我正在尝试在后台下载一些页面,其内容将被插入到数据库中。我需要在某种后台线程(BackgroundWorker或ThreadPool,由于我可以将事情排队的方式而首选)上执行此操作,但我还需要在作业完成后更新UI。如何通知UI线程作业已在WindowsPhone上完成?我见过有人使用Dispatcher.beginInvoke,但不清楚他使用的是什么(Worker或Pool)——这是执行此操作的正确方法吗? 最佳答案 Deployment.Current.Dispatcher.BeginInvoke(()=>{//changeUIh

c# - 在 C# 中分离 UI 和逻辑

对于将逻辑排除在我的GUI类之外,有人有什么建议吗?我尝试使用良好的类设计并尽可能保持分离,但我的Form类最终通常会混入比我想要的更多的非UI内容,这往往会使维护变得非常痛苦。(VisualStudio2008Professional、C#、Windows应用程序)。非常感谢。 最佳答案 将您的逻辑放在一个单独的程序集中;并且,在不引用任何GUI包(例如System.Drawing、System.Windows.Forms等)的情况下构建该程序集。 关于c#-在C#中分离UI和逻辑,我

c# - 从 View 模型映射到域模型的最佳位置在哪里?

将View模型映射到域模型的最佳位置在哪里?我所说的映射是指从我的EditGrantApplicationViewModel到GrantApplication对象。假设我有以下操作方法(部分代码):[HttpPost]publicActionResultCreate(EditGrantApplicationViewModeleditGrantApplicationViewModel){if(!ModelState.IsValid){returnView("Create",editGrantApplicationViewModel);}returnView("Index");}我是否需要

c# - 单个 View 中的多个模型 (C# MVC3)

我正在使用C#和MVC3。我有一个页面,例如学生列表,显示学生列表,这是数据库驱动的。同时我的菜单是数据库驱动的,所以我也必须将它发送到View。如何将两个模型发送到一个View? 最佳答案 您应该始终为您的View创建单独的ViewModel。应该有从您的View到您的领域模型的抽象。在演示/教程中,他们通过简单地将View强类型化到域模型来非常简单地展示这一切,但这不是一个好的策略。View不应依赖于业务对象。您应该为您当前的场景和所有其他View实现DavidGlenn建议的解决方案,即使需要将域模型映射到另一个View模型类

c# - SelectListItem selected = true 在 View 中不工作

我有一个性别选择字段(--选择--、男性、女性),我正在我的Controller中填充它。当页面加载时,我希望在页面加载时自动选择在模型pm.Gender中选择的性别。pm.Gender的值返回为:""“M”“F”查看:m.Gender,(IEnumerable)ViewData["gender"],new{@class="span2"})%>Controller:gender=new[]{"Select","Male","Female"};ListgenderselectList=newList();foreach(stringitemingender){SelectListItem