Questions tagged «asp.net-mvc»

ASP.NET MVC框架是一个开源Web应用程序框架和工具,可实现针对Web应用程序量身定制并基于ASP.NET技术基础的模型-视图-控制器(MVC)模式版本。

4
混合Angular和ASP.NET MVC / Web API?
我来自使用ASP.NET MVC / Web API,现在我开始使用Angular,但不清楚混合它们的正确方法。 一旦我使用Angular,MVC服务器端概念是否仍然具有任何价值?还是应该严格使用Web API来纯粹获取角度HTTP调用的数据? 对于将ASP.NET MVC转换为Angular的人员,任何提示都将有所帮助

10
没有类型为“ IEnumerable <SelectListItem>”的具有键“ xxx”的ViewData项目
关于Stack Overflow的文章有几篇,但没有一个答案似乎可以解决我目前的问题。 我有一个带有表格的页面,每一行都有许多文本字段和一个下拉列表。所有下拉菜单都需要使用相同的SelectList数据,因此我将其设置如下: 控制者 ViewData["Submarkets"] = new SelectList(submarketRep.AllOrdered(), "id", "name"); 视图 &lt;%= Html.DropDownList("submarket_0", (SelectList)ViewData["Submarkets"], "(none)") %&gt; 我已经在很多地方使用了此设置,但是由于某种原因,在此特定视图中我得到了错误: 没有类型为“ IEnumerable”的ViewData项目具有键“ submarket_0”。

4
如何在POST操作中将视图模型映射回域模型?
互联网上有关使用ViewModels和Automapper的每篇文章都提供了“ Controller-&gt; View”方向映射的指南。您将域模型与所有选择列表一起放入一个专用的ViewModel中,并将其传递给视图。很好。 该视图具有一个表单,最终我们处于POST操作中。在这里,所有的Model Binders和另一个[显然]的View Model [显然]至少在命名约定的一部分方面与原始ViewModel有关,这显然是为了绑定和验证。 您如何将其映射到您的域模型? 让它成为一个插入动作,我们可以使用相同的Automapper。但是,如果这是更新操作,该怎么办?我们必须从存储库中检索域实体,根据ViewModel中的值更新其属性,然后将其保存到存储库中。 附录1(2010年2月9日):有时,仅分配Model的属性是不够的。应该根据视图模型的值对域模型采取一些措施。即,应在域模型上调用某些方法。可能应该在控制器和域之间存在一种应用程序服务层,以便处理视图模型... 如何组织此代码以及将其放置在何处以实现以下目标? 保持控制器薄 荣誉SoC实践 遵循领域驱动设计原则 干燥 未完待续 ...

3
ActionLink htmlAttributes
作品 &lt;a href="@Url.Action("edit", "markets", new { id = 1 })" data-rel="dialog" data-transition="pop" data-icon="gear" class="ui-btn-right"&gt;Edit&lt;/a&gt; 不起作用-为什么? @Html.ActionLink("Edit", "edit", "markets", new { id = 1 }, new {@class="ui-btn-right", data-icon="gear"}) 看来您无法将诸如data-icon =“ gear”之类的内容传递给htmlAttributes? 有什么建议吗?

3
强制所有区域使用相同的布局
我有以下项目结构: / Views / Shared / _Layout; / Areas / Area1 / Views / ControllerName / Index; ... / Areas / AreaN / Views / ControllerName / Index。 有什么方法可以强制所有区域使用_Layout作为基本布局? 有什么办法可以做到,而无需添加_ViewStart文件的(例如,通过路由配置)可以吗? 也可以看看: 如何在ASP.NET MVC 3剃须刀ViewStart文件中指定不同的布局?


4
DisplayNameFor()来自模型中的List <Object>
我相信这很简单,我似乎找不到正确的方法来显示模型列表中项目的显示名称。 我的简化模型: public class PersonViewModel { public long ID { get; set; } private List&lt;PersonNameViewModel&gt; names = new List&lt;PersonNameViewModel&gt;(); [Display(Name = "Names")] public List&lt;PersonNameViewModel&gt; Names { get { return names; } set { names = value; } } } 和名称: public class PersonNameViewModel { public long ID { get; set; …
87 c#  asp.net-mvc  razor  model 

3
自动完成值的应用而不是标签到文本框
我在尝试使自动完成功能正常工作时遇到了麻烦。 对我来说一切都很好,但是.... &lt;script&gt; $(function () { $("#customer-search").autocomplete({ source: 'Customer/GetCustomerByName', minLength: 3, select: function (event, ui) { $("#customer-search").val(ui.item.label); $("#selected-customer").val(ui.item.label); } }); }); &lt;/script&gt; &lt;div&gt; &lt;input id="customer-search" /&gt; &lt;/div&gt; @Html.Hidden("selected-customer") 但是,当我从下拉列表中选择一项时,该值将应用于文本框而不是标签。 我做错了什么? 如果我使用firebug查看源代码,可以看到我的隐藏字段正在正确更新。

2
ASP.NET MVC 5与AngularJS / ASP.NET WebAPI的比较
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 改善这个问题 我目前正在评估用于在公司中创建未来Web应用程序的编程模型。因此,我将在ASP.NET MVC 5(带有Razor Views)和带有ASP.NET WebAPI的AngularJS之间做出选择。这两种编程模型的优缺点是什么?


4
MVC应用程序在哪里适合“业务逻辑层”?
首先,在有人大声疾呼之前,我很难用一个简单的标题来概括它。另一个标题可能是“域模型和MVC模型之间有什么区别?” 或“什么是模型?” 从概念上讲,我将模型理解为视图和控制器使用的数据。除此之外,对于构成模型的原因似乎有很多不同的意见。什么是领域模型,应用程序模型,视图模型,服务模型等。 例如,在我最近询问存储库模式的问题中,有人告诉我空白是存储库是模型的一部分。但是,我还读过其他意见,认为该模型应与持久性模型和业务逻辑层分开。毕竟,存储库模式是否不应该将具体的持久性方法与模型分离?其他人说,域模型和MVC模型之间是有区别的。 让我们举一个简单的例子。MVC默认项目中包含的AccountController。我已经读过一些意见,认为其中包含的帐户代码设计不佳,违反了SRP等。如果要为MVC应用程序设计“适当的”成员资格模型,那将是什么? 您如何将ASP.NET服务(成员资格提供程序,角色提供程序等)与模型分开?还是你会吗? 从我的角度来看,模型应该是“纯”的,也许带有验证逻辑..但是应该与业务规则(除了验证)分开。例如,假设您有一条业务规则,该规则规定在创建新帐户时必须向某人发送电子邮件。在我看来,这并不真正属于模型。那么它属于哪儿呢? 有人在乎这个问题吗?

7
如何正确使用存储库模式?
我想知道应该如何对存储库进行分组?就像在asp.net mvc上看到的示例一样,在我的书中,它们基本上每个数据库表都使用一个存储库。但这似乎是很多存储库,导致您以后不得不调用许多存储库以进行模拟和填充。 所以我想我应该将它们分组。但是我不确定如何将它们分组。 现在,我做了一个注册资料库来处理我所有的注册资料。但是,有4个表需要更新,而在我拥有3个存储库之前,需要进行更新。 例如,表之一是许可证表。当他们注册时,我查看他们的密钥并检查它是否存在于数据库中。现在,如果我需要检查该许可证密钥或该表中其他位置(而不是注册)的其他内容,该怎么办? 可以登录一个位置(检查密钥是否未过期)。 那么在这种情况下我该怎么办?再次重写代码(打破DRY)?尝试将这两个存储库放在一起,并希望在其他时间点都不需要使用任何方法(例如,也许我可能有一个检查是否使用了userName的方法-也许我会在其他地方使用该方法)。 另外,如果我将它们合并在一起,那么我将需要2个服务层到同一个存储库,因为我认为拥有站点2个不同部分的所有逻辑将很长,而且我必须具有ValidateLogin(),ValdiateRegistrationForm()之类的名称。 ,ValdiateLoginRetrievePassword()等。 还是仍然调用存储库,只是在周围有一个奇怪的名字? 似乎很难建立一个具有足够通用名称的存储库,以便您可以将其用于应用程序的许多位置并且仍然有意义,我认为在存储库中调用另一个存储库不是一个好习惯吗?

6
触发下拉菜单的更改事件
我想使用jquery触发$(document).ready中下拉列表的change事件。 我在用户详细信息页面上有一个国家和州的层叠下拉列表。我如何使用C#在MVC中设置国家和州的值(基于用户ID从数据库获取)。


5
网址中的双转义序列:请求过滤模块配置为拒绝包含双转义序列的请求
在我的ASP.NET MVC应用程序上,我正在尝试实现如下所示的URL: / product / tags / for + familys 当我尝试使用默认配置运行我的应用程序时,我收到带有404.11响应代码的消息: HTTP错误404.11-找不到 请求过滤模块被配置为拒绝包含双重转义序列的请求。 我可以通过在web.config中实现以下代码来解决此错误: &lt;system.webServer&gt; &lt;security&gt; &lt;requestFiltering allowDoubleEscaping="true" /&gt; &lt;/security&gt; &lt;/system.webServer&gt; 所以,现在我什么都没有404.11。 我想知道的是,此实现将给我带来什么样的安全漏洞。 顺便说一句,我的应用程序在下.Net Framework 4.0运行IIS 7.5。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.