Tag: asp.net mvc

无法让我的DropDownListFor在下拉菜单中选择一个选定的SelectListItem项

我有一个填充到下拉菜单中的项目集合: string myUserName = “PopulatedWithSomeUser”; var users= from x in userRepository.GetAll() select new SelectListItem { Value = x.Id.ToString(), Text = x.Name, Selected = (x.Name == myUserName ) }; 这会正确填充对象并设置所选项目。 接下来,我使用ViewModel将其传递给我的View并尝试填充/选择: 我试过了: @Html.DropDownListFor(model=>model.Users,new SelectList(Model.Users),new {id = “add-user-list”, name=”add-user-list”}) 也 @Html.DropDownListFor(model=>model.Users,new SelectList(Model.Users,”Value”,”Text”,”Selected”),new {id = “add-user-list”, name=”add-user-list”}) 也 @Html.DropDownListFor(model=>model.Users,Model.Users, new {id = “add-user-list”, name=”add-user-list”}) 列表已正确填充,但我的“已选择”项目从未被选中。 我究竟做错了什么 ? 谢谢。

如何使用Autofac注入AutoMapper?

将AutoMapper注入其他图层的正确方法是什么? 我读了这篇博文,但是这段代码导致了以下exception AutoMapper.dll中出现“AutoMapper.AutoMapperMappingException”类型的例外,但未在用户代码中处理 当尝试在服务层中映射时。 List list2 = _mapper.Map<List>(list); 我的AutoFac配置如下: public static class DependencyRegistration { public static void Config() { var builder = new ContainerBuilder(); builder.RegisterControllers(typeof(MvcApplication).Assembly); builder.RegisterType().As(); builder.RegisterType().As().WithParameter(“mappers”, MapperRegistry.Mappers).SingleInstance(); builder.Register((ctx, t) => ctx.Resolve()).As().As(); builder.RegisterType().As(); //… var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); } }

如何强制jqGrid 4.10.1-pre编码’字符总是

免费jqgrid使用设置 autoencode: true 网格定义包含: $grid.jqGrid({ url: ‘/admin/API/Entity’, datatype: “json”, editurl:’/admin/Detail/Edit’ 在内联编辑中<a字符输入Nimetus列,数据以url编码格式发布到服务器。 Request URL:http://localhost:52216/admin/Detail/Edit?_entity=DokG&_dokumnr=135322&_vmnr=0 Request Method:POST Status Code:490 OK Response Headers view source Cache-Control:private, s-maxage=0 Content-Length:122 Content-Type:application/json; charset=utf-8 Date:Mon, 23 Nov 2015 15:31:54 GMT Server:Microsoft-IIS/10.0 X-AspNet-Version:4.0.30319 X-SourceFiles:=?UTF-8?B?STpccmFhbWF0XEVldmFXZWJcRWV2YS5FcnBcRGV0YWlsXEVkaXQ=?= Request Headers POST /admin/Detail/Edit?_entity=DokG&_dokumnr=135322&_vmnr=0 HTTP/1.1 Host: localhost:52216 Connection: keep-alive Content-Length: 1724 Accept: */* Origin: http://localhost:52216 X-Requested-With: XMLHttpRequest Query String […]

EditorFor Inheritance Model MVC

我的post调用没有返回正确的模型类型。 它始终使用baseObject而不是我从Get传入的正确派生对象 RestaurantViewModel.cs public class RestaurantViewModel{ public Food BaseFoodObject{get;set;} } Food.cs public class Food{ public string Price{get;set;) } Bread.cs – 从食物inheritance public class Bread:Food{ public int Unit{get;set;} } Milk.cs – 从食物中inheritance public class Milk:Food{ public string Brand{get;set} } 面包模板的编辑。 显示单位并允许用户编辑 的index.html @Model RestaurantViewModel @using(Html.BeginForm(“SaveFood”, “Food”)) { @Html.EditorFor(m=>m.BaseFoodObject) } Bread.cshtml @Model Bread @Html.TextboxFor(bread=>bread.Unit) FoodController.cs public ActionResult […]

如何避免加载不合规的程序集

ASP.NET .NET 4.6 MVC4应用程序加载了unnessecary assemblie,eq。 System.Data.OracleClient。 没有使用Oracle。 使用控制器中的代码创建程序集依赖项 var sb = new StringBuilder(); foreach (Assembly b in AppDomain.CurrentDomain.GetAssemblies()) { sb.AppendLine(b.FullName); foreach (AssemblyName an in b.GetReferencedAssemblies()) sb.AppendLine(” ” + an.Name); } 输出低于。 根据此System.Web引用System.Design和System.Design对System.Data.OracleClient的引用 MVC应用程序在内存有限的VPS服务器中运行。 如何解决这个问题,以便不加载unnessecary程序集? 这有望在VPS服务器中释放一些内存。 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a mscorlib System.Drawing System System.Configuration System.Core System.Data System.Xml System.DirectoryServices System.EnterpriseServices System.Web.RegularExpressions System.Design System.Web.ApplicationServices […]

如何在ASP.NET 5 MVC中没有模型的情况下从查询中访问数据

我试图使用EF7在控制器内执行查询并在表中显示数据。 这是我的模特: public class Resources { public int id { get; set; } public string name { get; set; } public string descr { get; set; } public string resourcePath { get; set; } public string method { get; set; } public string format { get; set; } public virtual ICollection Tags { get; set; […]

这种火灾和遗忘方法是否正确?

我已经实现了instagram api实时更新 。 基本上,当我根据订阅添加新图像时,他们会向我提供的url发出POST请求。 他们说: “你应该在2秒的超时内确认POST – 如果你需要对收到的信息做更多的处理,你可以在异步任务中这样做。” 所以我建造了类似的东西: [HttpPost] [ActionName(“realtime”)] public async Task IndexPost() { var form = Request.Form; Request.InputStream.Position = 0; System.IO.StreamReader str = new System.IO.StreamReader(Request.InputStream); string sBuf = str.ReadToEnd(); // deserialize this from json var serializer = new JavaScriptSerializer(); var updates = serializer.Deserialize<IEnumerable>(sBuf).ToList(); ProcessNewTaggedImages(updates); return new ContentResult { Content = “Ok” }; […]

Razor:如果model是List 那么@ Html.LabelFor会创建空的“for”字段

如果模型是对象列表,则@Html.LabelFor model => model[i].member) for属性创建一个空。 DisplayName工作正常,模型绑定也可以正常工作。 唯一不起作用的是for属性。 下面有两个版本的MVC代码。 前3个代码片段用于不起作用的模型,控制器和视图组合(模型是列表)。 第二组3个代码片段起作用。 这次列表包含在一个对象中。 我错过了什么? 模型: public class ViewModel { public bool ClickMe { get; set; } } 控制器: public ActionResult LabelForViewModel() { List model = new List() { new ViewModel() { ClickMe = true} }; return View(model); } 视图: @model List // form code removed for brevity […]

Unity:当前类型是一个接口,无法构造

得到以下代码开始 public interface IDataContextAsync : IDataContext { Task SaveChangesAsync(CancellationToken cancellationToken); Task SaveChangesAsync(); } public partial class DB1Context : DataContext{ } public partial class DB2Context : DataContext{ } 以下是UnityConfig文件。 注意:我正在使用Nuget bootstrapper for ASP.Net MVC,下面是我的UnityConfig文件 public static void RegisterTypes(IUnityContainer container) { container .RegisterType(“DB1Context”, new PerRequestLifetimeManager()) //.RegisterType(“DB2Context”, new PerRequestLifetimeManager()) .RegisterType( new PerRequestLifetimeManager(), new InjectionConstructor(new object[] {new RepositoryFactories()}) ) […]

在POST操作中更改ViewModel属性

我有这个POST动作: [HttpPost] public ActionResult GetReport(GetReportModel model) { if (!ModelState.IsValid) { return View(model); } return View(“GetReport”, new GetReportModel() { Identifier = “test”, Permission = true }); } 当我发布表单时,执行此操作后,生成的视图中没有任何更改。 我的意思是, Identifier的TextBox没有我在动作中设置的“测试”字符串值。 但是如果我清除ModelState ,View将显示新值: [HttpPost] public ActionResult GetReport(GetReportModel model) { if (!ModelState.IsValid) { return View(); } ModelState.Remove(“Identifier”); ModelState.Remove(“Permission”); return View(“GetReport”, new GetReportModel() { Identifier = “test”, Permission = […]