Tag: asp.net mvc

无法加载文件或程序集“DotNetOpenAuth.Core

当我启动我的aspnetworkingmvc 4应用程序时出现以下错误: Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The system cannot find the file specified 这是错误日志 Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe — A detailed error log follows. === Pre-bind state information === LOG: User = notebook\Guilherme LOG: DisplayName = DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, […]

如何将一个CSS类应用于ASP.NET MVC中的Html.ActionLink?

我正在build立一个ASP.NET MVC应用程序,使用VB.NET和我试图应用一个CSS类到Html.ActionLink使用代码: <%=Html.ActionLink("Home", "Index", "Home", new {@class = "tab" })%> 但是当我运行代码时,我收到下面的错误: 编译器错误信息:BC30988:预期键入或“With”。 我是新来的MVC ,真的没有太多的线索我在做什么,所以我不能看到有什么问题,因为我在其他地方使用基于示例的代码。

如何在POST操作中将视图模型映射回域模型?

互联网上使用ViewModel和利用Automapper的每篇文章都给出了“Controller – > View”方向映射的指导原则。 您将域模型和所有select列表一起放入一个专门的ViewModel中,并将其传递给视图。 这很清楚,很好。 该视图有一个表单,最终我们在POST操作中。 在这里,所有的模型绑定器都与[明显]另一个 View模型一起出现,它至less在命名约定的部分中与原始ViewModel 明显相关,以便进行绑定和validation。 你如何将其映射到你的域模型? 让它成为插入动作,我们可以使用相同的Automapper。 但是,如果这是更新行为呢? 我们必须从Repository检索我们的Domain Entity,根据ViewModel中的值更新它的属性并保存到Repository中。 附录1(2010年2月9日):有时,分配模型的属性是不够的。 根据视图模型的值,应该对域模型采取一些行动。 也就是说,应该在域模型上调用一些方法。 可能应该有一种应用程序服务层,站在控制器和域之间来处理视图模型… 如何组织这个代码,并把它放在哪里来实现以下目标? 保持控制器很薄 尊重SoC的实践 遵循域驱动devise原则 是干的 未完待续 …

“业务逻辑层”适合MVC应用程序在哪里?

首先,在任何人尖叫之前,我很难用一个简单的标题来概括它。 另一个标题可能是“域模型和MVC模型有什么区别?” 或“什么是模型?” 从概念上讲,我理解一个模型是视图和控制器使用的数据。 除此之外,对于模型的构成似乎有很多不同的观点。 什么是领域模型,与应用程序模型,视图模型,服务模型等等。 例如,在最近一个关于存储库模式的问题中,我被告知空白,存储库是模型的一部分。 但是,我已经读过其他观点,认为模型应该从持久模型和业务逻辑层分离。 毕竟,不是Repository模式应该将具体的持久化方法与模型分离吗? 其他人说,域模型和MVC模型是有区别的。 我们举一个简单的例子。 包含在MVC默认项目中的AccountController。 我已经阅读了几个意见,包括帐户代码是糟糕的devise,违反SRP等..如果要为MVC应用程序devise一个“适当的”成员模型,那会是什么? 你将如何分离模型中的ASP.NET服务(会员提供商,angular色提供商等)? 或者你会呢? 我看到它的方式,模型应该是“纯粹的”,也许与validation逻辑..但应该是与业务规则(validation除外)分开。 例如,假设您有一个业务规则,即在创build新帐户时必须通过电子邮件发送某人。 在我看来,这并不属于模型。 那它属于哪里? 有人在乎这个问题吗?

混合Angular和ASP.NET MVC / Web API?

我来自使用ASP.NET MVC / Web API,现在我开始使用Angular,但我不清楚正确的方式来混合它们。 一旦我使用Angular,MVC服务器端的概念仍然提供任何价值? 还是应该严格使用Web API来获取angular度HTTP调用的数据? 任何提示你有一个ASP.NET MVC的家伙过渡到Angular会有所帮助

Asp.Net MVC中存在一个视图吗?

有人知道在渲染视图之前是否可以确定控制器内是否存在特定的视图名称? 我有一个要求dynamic确定要呈现的视图的名称。 如果一个视图存在这个名字,那么我需要渲染该视图。 如果没有自定义名称的视图,那么我需要渲染一个默认视图。 我想在控制器中执行类似以下代码的操作: public ActionResult Index() { var name = SomeMethodToGetViewName(); //the 'ViewExists' method is what I've been unable to find. if( ViewExists(name) ) { retun View(name); } else { return View(); } } 谢谢。

有没有可能用Razor创build一个通用的@helper方法?

我正在试图写一个Razor的帮手,如下所示: @helper DoSomething<T, U>(Expression<Func<T, U>> expr) where T : class 不幸的是,parsing器认为<T是一个HTML元素的开始,我最终得到一个语法错误。 是否有可能用Razor创build一个通用方法的帮助器? 如果是这样,语法是什么?

使用Razor的Html.RenderPartial()语法

这是有效的,因为它以stringforms返回部分视图渲染的结果: @Html.Partial("Path/to/my/partial/view") 但我更喜欢使用RenderPartial ,它似乎我需要写: @{Html.RenderPartial("Path/to/my/partial/view");} 代替: @Html.RenderPartial("Path/to/my/partial/view"); 为了得到它的工作。 错误信息: Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments 如果有更好的方法,而不是打开代码块@{…}只是一个方法调用?

在ASP.NET MVC的静态字段中使用Server.MapPath()

我正在构build一个ASP.NET MVC网站,我正在使用Lucene.Net进行search查询。 我在这里提出了一个关于如何在ASP.NET MVC应用程序中正确地构造Lucene.Net的用法的问题 ,并被告知最好的方法是将我的IndexWriter声明为public static ,以便它可以被重用。 以下是我的SearchController顶部的一些代码: public static string IndexLocation = Server.MapPath("~/lucene"); public static Lucene.Net.Analysis.Standard.StandardAnalyzer analyzer = new Lucene.Net.Analysis.Standard.StandardAnalyzer(); public static IndexWriter writer = new IndexWriter(IndexLocation,analyzer); 由于writer是静态的, IndexLocation也必须是静态的。 因此,编译器给我以下错误Server.MapPath() : 对象引用对于非静态字段,方法或属性“System.Web.Mvc.Controller.Server.get” 有没有一种方法使用Server.MapPath()或类似的静态字段 ? 我该如何解决这个错误? 提前致谢。

Visual Studio 2015-如何禁用“基于您的项目,我们已经确定扩展,你可能会发现有帮助”的消息?

自Visual Studio 2015的最新更新以来,当我打开.html或.cshtml文件时,会收到此消息。 点击“不要再问”只会禁用这个,直到VS重新启动。 我怎样才能永久closures它?