Tag: asp.net mvc

在ActionResult方法之外找到用户

我问过这个问题 。 即使该答案解决了我收到的错误消息..我想找到当前正在使用该应用程序的用户…而不是必须在每个操作方法中写入… var userIdentity = HttpContext.User.Identity.Name.Split(‘\\’)[1].Replace(“.”, ” “); 我希望在任何ActionResult方法之前将它放在控制器类的顶部,这样我就可以在每个操作方法中引用变量而不是如上所示的整行。或者甚至在构造函数中设置它,就像我一样根本不必参考它。 任何帮助表示赞赏。

如何为使用存储库的所有实例使用一个数据库上下文?

我做了一些建筑MVC错误,因为我不知道 IEntityChangeTracker的多个实例不能引用实体对象。 错误。 我的设置如下:我有一个访问数据库的repository ,它创建了一个dbcontext实例,我有控制器实例化他们需要的managers , managers都实例化他们自己的repository 。 这是问题,当控制器使用多个manager收集数据然后尝试创建使用此数据的对象时,将对象添加到dbcontext时会出现上述错误。 我读到了关于UnitOfWork模式的内容,但重新构建我的代码似乎需要做很多工作。 是否有快速修复能够更新数据库并避免错误? 谢谢。

LINQ to Entities中仅支持无参数构造函数和初始值设定项 – MVC / C#

我正在将我的Linq-to-Sql应用程序更改为EF 6.1,使用以下命令生成ViewData: public IEnumerable<KeyValuePair> GetOhaTypes () { return (from type in db.OhaType where type.Disabled == false orderby type.Name select new KeyValuePair(type.OhaTypeId, type.Name)); } 在控制器中: ViewData[“OhaTypes”] = _vRepository.GetOhaTypes(); 在视图中:@functions { List GetDropDownListItems (string listName, int currentValue) { var list = new List(); var pairs = this.ViewData[listName] as IEnumerable<KeyValuePair>; if (pairs != null) { list.AddRange(pairs.Select(pair => new […]

从布局页面ASP.NET MVC3 RAZOR访问会话变量

我想从布局母版页访问会话变量,但是你不能在布局页面中有一个模型,那么我该如何访问这个变量呢?

在同步的asp.net控制器中使用Task.Run

是否有一种有效的方法来下载文件并以“后台”方式将其保存在磁盘上,而不会阻止mvc控制器中当前执行的操作? 目前我有以下示例代码工作: public ActionResult Index() { InitiateDownload(); var model = GetModel(); return View(model); } private void InitiateDownload() { Task.Run(() => DownloadAndSaveFileAsync()).ConfigureAwait(false); } private async Task DownloadAndSaveFileAsync() { var response = await GetResponse(); using (var fileStream = new FileStream(“c:\\file.zip”, FileMode.Create, FileAccess.Write, FileShare.None)) { await response.Content.CopyToAsync(fileStream).ConfigureAwait(false); } } public async Task GetResponse() { var client = new […]

如何将此图像源转换为Url.Content?

我有以下图像以这种方式呈现。 我希望如果可能的话,它的src属性将被更改为Url.Content。 我试过的是这个,但我的问题是它将我的模型视为字符串: 谁能帮我? Path和Filename的值如下: Model.FloorPlan.Floor_Plan_Image_Path =“/ Content / Uploads / FloorPlans / 00004601 /”Model.FloorPlan.Floor_Plan_Image_Filename =“testfloorplan.png”

如何在MVC视图中循环访问DataAnnotation的DisplayName?

我想访问DataAnnotation的DisplayName和模型类的类似GroupName ,然后在MVC视图中循环。 例如,让我说我的一个模型属性是这样的 public class Person { [Display(Name=”Home Phone”,GroupName=”Home”)] public string HomePhone { get; set; } [Display(Name = “Home Address”, GroupName = “Home”)] public string HomeAddress { get; set; } [Display(Name = “Office Phone”, GroupName = “Office”)] public string OfficePhone { get; set; } [Display(Name = “Office Address”, GroupName = “Office”)] public string OfficeAddress { […]

MVC 4:自定义路由和Html.Action不同步

所以我有这个自定义路由,它根据URL中的区域性设置路由表,但是当我调用Url.Action(…)时,它不会生成本地化的URL。 我有什么想法我做错了吗? 文化正在改变页面,我能够确定用户选择了哪种语言,但Url.Action没有生成本地化的URL。 这是自定义路由,它会更改路由表值(不确定是否采用这种标准方式): public class CultureRoute : Route { public CultureRoute(string url, object defaults, object contraints) : base(url, new MvcRouteHandler()) { base.Defaults = CreateRouteValueDictionary(defaults); base.Constraints = CreateRouteValueDictionary(contraints); } public override RouteData GetRouteData(HttpContextBase httpContext) { var routeData = base.GetRouteData(httpContext); if (routeData != null) { var culture = routeData.Values[“culture”].ToString(); var cookie = httpContext.Request.Cookies[“culture”]; var areEqual = […]

枚举有多个描述

我有这样的枚举。 public enum Gender { Man = 1, Woman = 2 } 我使用ASP MVC4来显示这样的下拉选项。 @Html.DropDownListFor(model => model.Gender, new SelectList(Enum.GetValues(typeof(Namespace.Models.Enum.Gender)))) 这就像一个魅力,它显示了男人/女人的下拉。 我的问题是,我希望在不同的上下文中显示不同的名称。 如果你是一个妈妈或一个爸爸,就像一个背景。 我想使用性别enum作为基础,但显示男/女的妈妈/爸爸instad。 另一个背景是男孩/女孩,我仍然想使用性别枚举,但显示不同的文字。 这有可能吗? 编辑我使用凯文的解决方案,并添加了另一种这样的扩展方法。 public static List<KeyValuePair> GetValues(IGenderStrategy genderStrategy) { Dictionary arr = new Dictionary(); foreach (Gender g in System.Enum.GetValues(typeof(Gender))) arr.Add(g.ToValue(genderStrategy), (int)g); return arr.ToList(); } 在我看来,我用过这个。 @Html.DropDownListFor(model => model.Gender, new SelectList(Chores.Models.Enum.EnumExtentions.GetValues(new Chores.Models.Enum.ParentStrategy()), “value”, […]

在插入新的父对象时,阻止EF添加新的子对象而不是仅仅关联?

我有以下内容: public int CreateExercise(Exercise newExercise) { db.Exercises.Add(newExercise); db.SaveChanges(); return newExercise.ExerciseId; } 练习如下: public class Exercise { public Exercise() { Users = new Collection(); } [Key] [Required] public int ExerciseId { get; set; } [StringLength(300, ErrorMessage = “The value cannot exceed 300 characters. “)] public string Title { get; set; } public virtual ICollection Users{ get; […]