TOGOUTECH

model-view-controller

全部标签

c# - MVC html 助手如何使用表达式获取对象属性

例如:Html.TextBoxFor(x=>x.ModelProperty)如果我要将这样的表达式作为方法参数,我将如何从表达式中获取引用的属性?我在表达式方面的经验有些有限,而且根据我所知道的,我不明白它是如何工作的。 最佳答案 您可以像这样轻松获取属性名称:varmetadata=ModelMetadata.FromLambdaExpression(expression,html.ViewData);varpropName=metadata.PropertyName;或者您可以获得属性及其属性:MemberExpressi

c# - 使用 mvc 路由约束,因此 url 只能映射到三个可能的参数之一

这是我的路线:routes.MapRoute(null,"myaccount/monitor/{category}",//Matchesnew{controller="MyAccount",action="Monitor",category=(string)null});我想添加一个约束,以便该类别只能匹配一个null或三个参数之一(即概览、投影、历史) 最佳答案 您可以使用UrlParameter.Optional来允许空值,也可以使用MapRoutemethod的constrain

c# - RazorGenerator 看不到自定义 cshtml 助手

我在使用RazorGenerator时遇到问题:它无法编译使用我的自定义助手的View:App_Code/ViewHelper.cshtml@helpertest(System.Web.Mvc.HtmlHelperhtml){<h4>Test</h4>}Views/Test.cshtml(...)@ViewHelper.test(this.Html)(...)当我尝试编译我的项目时,出现Test.cshtml的错误:Thename'ViewHelpers'doesnotexistinthecurrentcontext我尝试将各种命名空间添加到我的

c# - MVC 验证 - 使用服务层保持干燥 - 最佳实践是什么?

我正在尝试遵循最佳多层设计实践,并且不希望我的MVCController与我的DAL(或与此相关的任何IRepository)交互。它必须通过我的业务服务层来执行正确的业务规则和验证。验证-我不想在我的域模型实体上使用各种验证属性(例如[Required])在Controller中执行验证,因为这会照亮我的前端。更不用说这个服务也可以通过WPF前端来实现。由于我的验证是在我的服务层中完成的,将值返回到UI的最佳做法是什么?我不想要“voidaddWhatever(intsomethingsID)”,因为我需要知道它是否失败。它应该是一个bool值吗?它应该是一个枚举吗?我应该利用异常处

c# - 你如何命名你的 ViewModel 类?

哪种命名约定适合ViewModel类?示例:对于HomeController,索引View?HomeIndexViewModel似乎不对。 最佳答案 我使用以下模式,因为它清晰明确:模型:FooView:FooViewView模型:FooViewModel 关于c#-你如何命名你的ViewModel类?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/941985/

c# - 如何在 C# 代码中使用 MVC 3 @Html.ActionLink

我想在c#函数中调用@Html.ActionLink方法来返回一个带有链接的字符串。像这样:stringa="Emailislocked,click"[email protected]("heretounlock.","unlock"); 最佳答案 假设您想在您的Controller中完成此操作,需要跳过几个环节。您必须实例化一个ViewDataDictionary和一个TempDataDictionary。然后您需要使用ControllerContext并创建一个IView。最后,您

c# - 从单独的类库访问 web.config?

我正在寻找实现以下目标的好方法:我有一个Web应用程序(MVC3),它有一个单独的类库,其中包含我正在制作的CMS的后端逻辑。此CMS使用NHibernate连接到数据库。我希望用户能够在他们的web.config文件中配置连接字符串(最终甚至是数据库的风格)。我正在寻找的是一种从web.config文件中获取连接字符串的好方法,即使DLL是完全独立的。这可能吗?我是否必须以某种方式将我的连接字符串传递到我的类库?还是我可以在应用程序运行时访问它?如果我必须在我的Web应用程序中创建一些代码以将连接字符串传递到我的类库,我怎样才能使这些代码尽可能可移植,这样我就不必为我的下一个Web应

c# - 无法将带有 [] 的索引应用于 mvc Controller 中类型为“System.Collections.Generic.ICollection<int>”的表达式

publicActionResultaddstandardpackage1(ICollection<int>SingleStay,ICollection<int>DOUBLESTAY,ICollection<int>TRIBLESTAY,ICollection<int>FAMILYSTAY,ICollection<int>EXTRABED){vars=SingleStay;for(inti=0;i<SingleStay.Count;i++){varcal=SingleStay[i];}foreach(varkeyinSi

c# - MVC 3 - Controller 和 ViewModels - 哪个应该包含大部分业务逻辑?

目前在我的应用程序中使用工作单元模式和通用存储库,我的所有Controller都包含所有业务逻辑。我正在将所有内容都放在使用ViewModel而不是直接模型的过程中。虽然这是个好主意,但现在出现了一个问题,它可以显着分离Controller中的业务逻辑。对于Controller和ViewModel,哪个应该包含大部分业务逻辑?我已经尝试了几种方法来让我的ViewModel实际上包含所有业务逻辑。但是,我必须在我的ViewModel的构造函数中有一个采用工作单元的参数。这是个好主意吗?我的代码味道告诉我它是。但是,我只是有点担心这将如何与执行不需要ViewModel的操作的Control

c# - 复杂模型/子模型验证 (MVC) 的最佳方法

问题我知道有很多方法可以在MVC中进行模型验证,并且有很多关于这个主题的文档。但是,我不太确定验证模型属性的最佳方法是什么,“子模型”属于相同类型。请记住以下几点我仍然想利用TryUpdateModel/TryValidateModel方法这些“子模型”中的每一个都有强类型ViewMainModel类有一个强类型View,用于呈现整体显示View这听起来可能有点令人困惑,但我会投入一些代码来澄清。以下类为例:主模型:classMainModel{publicSomeSubModelProp1{get;set;}publicSomeSubModelProp2{get;set;}}一些子模