Tag: asp.net mvc

.NET管理层关系

我实际上是在重新创建项目的默认架构。 在这篇文章中,我希望你不仅可以帮助我,还可以思考,讲述和改进现有方法。 这可能是非常有用的挑战。 此默认架构可以与所有人自由共享。 所以这里是描述:基本上MVC是我们的观点。 我们遵循OOP和层编程概念。 我们还将使用SQL Server和EF DB First 。 所以这就是我到目前为止所做的:我在我的解决方案中创建了4个层: 域:JUST域类 DAL:负责访问数据,包含UOW和存储库以及与数据访问相关的validation。 BL:独特负责业务逻辑和DAL的独特老板。 UI:这不是那么重要! (即使它可能是一个控制台应用程序!) 我已经使用通用函数实现BL,如getAll和getById以及crud funcs.these funcs将调用DAL通用函数,这也是准备好的。 现在一个重要的问题是:将DAL函数实现为GENERIC是否正确? 请考虑这种情况: 从UI我们发布模型到动作,在行动中我们称为BL Func( BL.insert (模型))。 BL.Insert函数会调用类似DAL.Add (模型)的东西(注意BL将调用DAL一次并告诉它它想要什么)。 现在DAL.Add func必须将3条记录插入3个不同的表中(模型从UI层传递)。 我认为这不可能通过DAL GENERICfunction来实现。 那么,在注意到关注点分离的情况下,实现图层和关系的正确和标准方法是什么? 在我的行动中我会: [HttpPost] public ActionResult Insert() { Bl.EntityBase.Article.Insert(new Article()); return RedirectToAction(“Index”); } 在BL我会: public void Insert(T obj) { Da.Repository().Insert(obj); } 在我的DAL中,我有: public virtual […]

没有类型为’IEnumerable ‘的ViewData项具有关键国家/地区

在mvc中的绑定下拉列表我总是得到这个错误没有类型’IEnumerable’国家的ViewData项目有关键我不知道如何排序 视图 @Html.DropDownList(“country”, (IEnumerable)ViewBag.countrydrop,”Select country”) 调节器 List coun = new List(); coun = ds.getcountry(); List item8 = new List(); foreach( var c in coun ) { item8.Add(new SelectListItem { Text = c.country, Value = c.countryid.ToString() }); } ViewBag.countrydrop = item8; return View(); 我不知道我错在哪里,任何人都可以提前帮助我

OutputCache Location =客户端似乎不起作用

我试图在我的MVC应用程序中使用OutputCache属性,当我使用OutputCacheLocation.Client时,它似乎不起作用: public class HomeController : Controller { [OutputCache(Duration=15, Location=OutputCacheLocation.Client)] public ActionResult Client() { ViewBag.Message = “The current time is ” + DateTime.Now.ToString(“hh:mm:ss”); return View(); } [OutputCache(Duration=15, Location=OutputCacheLocation.Any)] public ActionResult Any() { ViewBag.Message = “The current time is ” + DateTime.Now.ToString(“hh:mm:ss”); return View(); } } 第一个不缓存。 我每秒都会点击页面,它会改变时间。 第二个工作。 它只会每15秒更改一次。 有什么我想念的吗? 我正在使用IE8和Visual Studio中的内置开发服务器进行调试。

我应该如何在MVC中使用EditorFor()获取货币/货币类型?

在我看来,我有以下电话。 x.Cost) %> 我有一个带有以下代码的ViewModel来定义Cost。 public decimal Cost { get; set; } 但是,这会显示十进制值,小数点后有四位数(例如0.0000)。 我知道Decimal.toString(“G”) ( MSDN )似乎解决了这个问题,但我不确定在哪里应用它。 一个解决方案似乎是创建一个局部视图“Currency.aspx”。 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl” %> 我的ViewModel中有一个[UIHint(“Currency”)] 。 这似乎不优雅。 我认为这个问题已经在MVC框架或C#中的某个地方得到了解决,但我不知道更清洁的解决方案。 在MVC中处理编辑货币值的适当方法是什么?

使用ASP MVC和Castle Windsor将数据库注入到validation属性中

我需要一些帮助 – 我试图在需要进行数据库调用的ASP.NET MVC Web项目中使用自定义validation属性。 我有windsor成功地为控制器工作,并正常注入IRepository接口。 当我需要将存储库注入属性类时,问题就出现了。 属性类具有以下代码: public class ValidateUniqueUrlNodeAttribute : AbstractValidationAttribute { private readonly string message; private readonly IArticleRepository articleRepository; public ValidateUniqueUrlNodeAttribute(string message) { this.message = message; } public ValidateUniqueUrlNodeAttribute(string message, IArticleRepository articleRepository):this(message) { this.articleRepository = articleRepository; } public override IValidator Build() { var validator = new UniqueUrlNodeValidator(articleRepository) { ErrorMessage = message }; […]

如何在MVC Html.DropDownList()中添加静态项目列表

我想将一个静态的SelectList()项目列表分配给ASP.NET MVC中的Html.DropDownList() ,最佳做法是什么? 我正打算尝试找到一种方法来使用new SelectList(new {key = “value”}…但是一个,哪个不起作用,两个,如果我的静态列表是无论如何在ViewData声明并作为IList/IENumerable传递?

如何在ASP.NET MVC中使用多个表单元素

所以我是ASP.NET MVC的新手,我想为一个集合中的每个项目创建一个带有文本框的视图。 我该怎么做,以及如何在POST回来时捕获信息? 我使用表单和表单元素为模型构建静态表单,但从不基于可变大小的集合动态生成表单元素。 我想在mvc 3中做这样的事情: @foreach (Guest guest in Model.Guests) { First Name: @Html.TextBoxFor(???) @* I can’t do x => x.FirstName here because the model is of custom type Invite, and the lambda wants to expose properties for that type, and not the Guest in the foreach loop. *@ } 如何为每位客人提供文本框? 我如何在它回发的动作方法中捕获它们? 谢谢你的帮助。

如何强制退出网站的所有用户?

我正在使用MySQL Connector / .NET,它的所有提供程序都使用FormsAuthentication。 我需要所有用户在某个时刻退出。 FormsAuthentication.SignOut()方法不能像我想的那样工作。 如何注销所有网站用户?

MVC3 + Ninject – 怎么样?

我刚开始玩IoC容器,因此选择了Ninject。 经过几个小时的汗水和眼泪,我仍然无法弄清楚如何使用Ninject设置我的MVC3应用程序。 到目前为止我有: 的Global.asax.cs public class MvcApplication : Ninject.Web.Mvc.NinjectHttpApplication { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); } public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller = “Home”, action = “Index”, id = UrlParameter.Optional } // Parameter defaults ); } protected void […]

MVC Razor,包含来自另一个项目的JS / CSS文件

我有一个使用Razor语法的C#MVC项目。 为了能够重用一些代码,我想将一些JavaScript和CSS文件放在一个不同的项目中并以某种方式包含它们。 这就是我的脚本目前的包含方式: 目前,脚本与cshtml文件位于同一个项目中,但它们应放在Common.Web项目中,而不是…… 我想做的是这个(虽然不起作用):