Tag: asp.net mvc

当没有数据发布时,在页面加载时显示MVC Razorvalidation错误

我正在搞乱数据注释。 当我单击链接转到页面时,将显示validation消息,但我希望validation消息不显示,除非已发布数据。 视图: @Html.TextBoxFor(m => m.EmailAddress, new { @placeholder = “Enter Email”, @class = “form-control” }) @Html.ValidationSummary(true, “Registration Failed. Check your credentials”) @Html.ValidationMessageFor(m => m.EmailAddress, “You must enter a valid Email Address.”) 模型: [Required(ErrorMessage = “Email is required”)] [DataType(DataType.EmailAddress)] [EmailAddress] [Display(Name = “Email Address: “)] public string EmailAddress { get; set; } 控制器: [HttpGet] public […]

如何返回false,如何创建将重定向到Login的自定义属性,类似于Authorize属性 – ASP.NET MVC

我尝试使用谷歌搜索关于自定义属性的一些东西,但我仍然不确定如何去做…. 一旦用户登录,我就会在会话cookie(ex UserID)中存储用户的一些重要细节..而我想要做的就是创建一个属性,如果 if (Session[“UserID”] == null) 然后它会像[Authorize]属性一样重定向到登录。 这样我就可以在各个控制器级别应用此属性。 我应该覆盖Authorize属性吗? 创建一个新的? 如何让它重定向到登录? 我也在使用ASP.NET MVC 4 谢谢你的帮助

如何通过自定义属性获取和修改属性值?

我想创建一个可以在以下属性上使用的自定义属性: [TrimInputString] public string FirstName { get; set; } 这将是function相当于 private string _firstName public string FirstName { set { _firstName = value.Trim(); } get { return _firstName; } } 所以基本上每次设置属性时都会修剪该值。 如何获取解析的值,修改该值,然后使用属性中的新值all设置属性? [AttributeUsage(AttributeTargets.Property)] public class TrimInputAttribute : Attribute { public TrimInputAttribute() { //not sure how to get and modify the property here } }

用户代理导致MVC DisplayFor ArgumentException:路径中的非法字符

我遇到一个问题,即移动设备上的用户遇到MVC中的错误,而这在常规桌面上查看网站时不会发生。 我可以通过使用Chrome的开发人员工具并应用除默认值之外的任何其他UA来始终如一地重现错误。 抛出的基础exception是: ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.GetExtension(String path) at System.Web.WebPages.DefaultDisplayMode.TransformPath(String virtualPath, String suffix) at System.Web.WebPages.DefaultDisplayMode.GetDisplayInfo(HttpContextBase httpContext, String virtualPath, Func’2 virtualPathExists) at System.Web.WebPages.DisplayModeProvider.GetDisplayInfoForVirtualPath(String virtualPath, HttpContextBase httpContext, Func’2 virtualPathExists, IDisplayMode currentDisplayMode, Boolean requireConsistentDisplayMode) at System.Web.Mvc.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext, List’1 locations, String name, String controllerName, String areaName, String cacheKey, String[]& searchedLocations) at […]

如何在Entity Framework中编写参数化的原始sql查询

如何在Entity Framework中编写参数化的原始sql查询? 我尝试过以下方法: string dateQueryString = String.Join(“,”, chartModelData.GetFormattedDateList()); //Dates returned in format of 20140402,20140506,20140704 const string selectQuery = @”SELECT MAX(DATA_SEQ) AS MaxSeq, MIN(DATA_SEQ) AS MinSeq, COUNT(1) AS TotSampleCnt FROM SPCDATA_TB WHERE DATA_WDATE IN @DateParam AND LINE_CODE = @LineCode AND MODEL_NO = @ModelNumber AND LOT_NO = @LotNumber AND EQUIP_NO LIKE @EquipNumber”; SPCDataSeqCntInfo dataSeqCntInfo = _dbContext.Database.SqlQuery(selectQuery, new […]

ASP MVC文件上传HttpPostedFileBase是空的

在我的控制器中,因为我希望能够填写有关video的一些细节并实际上传它,所以Video类不需要实际的video,因为它将被传递给另一个Web服务。 public class VideoUploadModel { public HttpPostedFileBase vid { get; set; } public Video videoModel { get; set; } } // // POST: /Video/Create [HttpPost] public ActionResult Create(VideoUploadModel VM) { if (ModelState.IsValid) { db.Videos.AddObject(VM.videoModel); db.SaveChanges(); return RedirectToAction(“Index”); } ViewBag.UserId = new SelectList(db.DBUsers, “Id”, “FName”, VM.videoModel.UserId); return View(VM); } 在我看来,我有 @model LifeHighlightsShoeLace.Controllers.VideoController.VideoUploadModel @{ ViewBag.Title = “Create”; […]

在这种情况下无法获得响应

我有问题。 本地一切正常,但在生产服务器中它总是抛出exception’响应在此上下文中不可用’。 可能是什么问题? 我注意到由于global.asax的一些变化,很多人都遇到了这个问题。 这是global.asax的代码,与应用程序启动相关的部分。 protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterRoutes(RouteTable.Routes); Application[“SystemUser”] = TUser.GetUserByIdentifier(“system”).UID; InitializeSolrInstances(); SearchIndexer.DoIndex(); StartRatingTimer(); SolrManager.RecalculateMostRequested(); } private static void InitializeSolrInstances() { SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/offer”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/savedquery”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/topproducts”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/topsellers”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/mostrequested”); SolrConfigurationManager.InitSolrConnection(Resources.ApplicationResources.SolrServiceURL + “/requestedquery”); } private void StartRatingTimer() { _LastRatingRenewedTime = DateTime.Now; DateTime CurrentTime = DateTime.Now; DateTime […]

如何在两个控制器操作之间避免AmbiguousMatchException?

我有两个具有相同名称但具有不同方法签名的控制器操作。 它们看起来像这样: // // GET: /Stationery/5?asHtml=true [AcceptVerbs(HttpVerbs.Get)] public ContentResult Show(int id, bool asHtml) { if (!asHtml) RedirectToAction(“Show”, id); var result = Stationery.Load(id); return Content(result.GetHtml()); } // // GET: /Stationery/5 [AcceptVerbs(HttpVerbs.Get)] public XmlResult Show(int id) { var result = Stationery.Load(id); return new XmlResult(result); } 我的unit testing没有调用一个或另一个控制器动作的问题,但我的测试html页面抛出System.Reflection.AmbiguousMatchException。 Show the stationery Html Show the stationery 需要改变什么来使这项工作?

如何在URL中更改ASP.NET MVC控制器名称?

如果我们有“example_name”,我们可以使用[ActionName(“”)]在url中更改它所以,我想为控制器名称执行此操作。 我可以做这个: URL中的ControllerName> example_nameController >: “/ example_controller” 我想在URL中更改这样的控制器名称: “/ example-conroller”

ASP.NET MVC /entity framework错误 – 无效的列名称’Environment_Id’

我是ASP.NET MVC和EF的新手,希望这不是一个愚蠢的问题 当我传递模型来查看我收到此错误 – exception详细信息:System.Data.SqlClient.SqlException:无效的列名称’Environment_Id’。 模型或数据库表具有该名称的属性。 可以指导我吗? **Here is the Version Model Class** public partial class Version { public Version() { this.ProfileVersions = new List(); this.ServerInfoes = new List(); } public int Id { get; set; } public string Number { get; set; } public string Tag { get; set; } public string Owner { […]