Tag: asp.net mvc

Visual Studio Online构建失败 – 本地工作

我升级到VS2015,MVC更新到5.0。 我能够在我的本地PC上成功构建,但是当我签入Visual Studio Online并且我的CI构建版本时,它会失败: “名称空间’System.Web’中不存在类型或命名空间名称’Mvc’(你是否缺少程序集引用?)” 我已经使用nuget管理器删除,并在我的项目上重新安装MVC – 结果相同。 看看我在项目中的引用,看起来都很好。 在错误发生之前我还会在日志中注意到: Installing ‘Microsoft.AspNet.Razor 3.2.3’. Installing ‘Microsoft.AspNet.Mvc.FixedDisplayModes 5.0.0’. Successfully installed ‘Microsoft.AspNet.Mvc.FixedDisplayModes 5.0.0’. Successfully installed ‘Microsoft.AspNet.Razor 3.2.3’. All packages listed in packages.config are already installed. 但它似乎在构建时,它不知道MVC是什么。 我该如何解决这个问题?

如何在MVC视图中使用jquery / ajaxvalidation空格

我有一个MVC视图,其中包含一个表单,现在需要validation在特定文本字段中输入的数据。 我只需要确保没有空格。 有人可以在我看来使用jquery / ajax脚本给我一个表单validation的例子。

无法识别为刷新指定的对象

我有这样的更新function: public void Update(HomeBanner homebanner) { homebanner.EnsureValid(); DataSource.DataContext.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues, homebanner); DataSource.DataContext.SubmitChanges(); } 我写了一个更新控制器 [AcceptVerbs(HttpVerbs.Post)] //[ValidateAntiForgeryToken] [ValidateInput(false)] public ActionResult ManageImages(int ? id,FormCollection form) { HomeBanner homebanner= BannerRepository.RetrieveById(id); this.TryUpdateModel(homebanner); string photoName = saveImage(“photo”); if (photoName != string.Empty) homebanner.ImageID = photoName; BannerRepository.Update(homebanner); return RedirectToAction(“list”, “Admin”); } 然后是观点: Manage Images Chọn vị trí: Chọn hình Liên kết 它也获取数据,但更新步骤不成功:它标记在这里 DataSource.DataContext.Refresh(System.Data.Linq.RefreshMode.KeepCurrentValues, homebanner); […]

LInkedIn oAuth2请求令牌400错误请求

我正在与LinkedIN API争夺第二天,每次我试图获得一个令牌,我得到400 Bad Request。 这是我的代码,也许有人可以帮忙吗? public void RequestAuthentication(System.Web.HttpContextBase context, System.Uri returnUrl) { string url = String.Format(“https://www.linkedin.com/uas/oauth2/authorization?response_type=code” + “&client_id={0}” + “&scope={1}” + “&state={3}” + “&redirect_uri={2}”,this._consumerKey,_scope,HttpUtility.UrlEncode(returnUrl.ToString()),Guid.NewGuid().ToString()); context.Response.Redirect(url); } public AuthenticationResult VerifyAuthentication(System.Web.HttpContextBase context) { //TODO: check CSRF string code = context.Request.QueryString[“code”]; string rawUrl = context.Request.Url.OriginalString; //From this we need to remove code portion rawUrl = Regex.Replace(rawUrl, “&code=[^&]*”, “”); […]

DropDownList选项更改时,使用参数重定向到MVC ActionResult

我正在使用MVC创建网站的一部分。 在我的一个视图中,我有一个DropDownList 。 当选择一个新的下拉列表选项,或者换句话说onchange ,我希望我的页面被重定向到特定的Controller ActionResult 。 如果没有参数,我可以访问MyAction ActionResult但是我无法弄清楚如何发送所需的参数。 我的控制器动作: public virtual ActionResult MyAction(int param1, int param2) { return View(); } 我在视图中的DropDownList: @Html.DropDownList( “viewDataItem”, Model.MyEnumerableList as SelectList, new { onchange = @” var form = document.forms[0]; form.action=’MyAction’; form.submit();” } ) 上面的代码调用MyAction,但它不发送参数。 有没有办法以某种方式将参数添加到此代码? 另一个想法是以某种方式使用@{Response.Redirect(@Url.Action(“MyAction”, “myController”, new { param1 = 2, param2= 3 }));}作为我的DropDownList操作,因为Response.Redirect允许我使用参数重定向到MyAction。 有没有办法以某种方式使onchanged = Response.Redirect? […]

使用带有Asp.net Identity 1.1 Alpha的Guid和自定义表名创建自定义实现

我正在从不同的问题中提取(下面列出我提出的问题)。 我想做五件事,据我所知,这些问题和答案……所有这一切都可以在我的OnModelCreating方法中完成。 前言 :我正在使用Asp.Net Identity 1.1-alpha的最新夜间位 我想在AspNetUsers表中使用“UserId”而不是Id作为我的Users Id的属性。 我理解这将涉及在OnModelCreating期间使用“HasColumnName”。 我想使用Guid(uniqueidentifier)作为我的UserId(而不是字符串)的数据类型。 据我所知,这涉及到我自己的POCOS用于IUser类和IUserStore等,因为Hao Kung在这里的答案中表示…… 如何在Microsoft.AspNet.Identity.EntityFramework.IdentityUser中更改id的类型 我想使用我自己的自定义表名,如MyRoles,MyCUserClaims,MyUserLogins,MyUserRoles,MyUsers,如本答案中所示…… 使用Visual Studio 2013 ASP.NET身份时如何更改表名? 所有外键都应该与Asp.net身份表适当地映射,正如郝公在这里所显示的那样…… 使用SQL脚本创建ASP.NET标识表 我想将属性添加到FirstName和LastName的ApplicationUser。 因此,基于以上内容…有人可以向我提供OnModelCreating方法,该方法将相应地创建这些Identity表,其中UserId作为Guid(uniqueidentifier)类型的用户的Id列,在具有自定义名称的表中,具有相应的外键关系,以及FirstName和LastName的ApplicationUser上的两个附加属性?

自定义StringLengthvalidation属性的客户端validation

我有以下自定义validation属性,它派生自StringLengthAttribute: public class StringLengthLocalizedAttribute : StringLengthAttribute { public StringLengthLocalizedAttribute(int maximumLength) : base(maximumLength) { var translator = DependencyResolver.Current.GetService<ITranslator(); var translatedValue = translator.Translate("MaxLengthTranslationKey", ErrorMessage); ErrorMessage = translatedValue.Replace("{MaxLength}", maximumLength.ToString()); } } 此自定义属性的唯一用途是本地化ErrorMessage。 问题是,当我在我的模型中使用它时,它不会生成任何客户端validation,但标准的StringLength属性会生成。 我没有看到我的属性如何以任何方式有所不同 – 因为它源自StringLength属性我不应该实现任何其他function来使客户端validation工作?

如何在.Net MVC中更改DateTime模型绑定器上的默认输入格式?

我有一个相当标准的.Net MVC控制器方法: public ActionResult Add(Customer cust) { //do something… return View(); } 客户是这样的: public class Customer { public DateTime DateOfBirth { get; set; } //more stuff… } 还有一个页面包含: 问题是我的网站位于美国服务器上,因此cust.DateOfBirth以美国格式MM / dd / yyyy进行解析。 但是,我希望用户以英国格式dd / MM / yyyy输入他们的出生日期。 我可以更改DateTime ModelBinder上的默认输入格式,还是必须创建自己的自定义ModelBinder?

在ASP.NET MVC 2中,我可以使用默认的ModelBinder将查询字符串反序列化为数组吗?

在ASP.NET MVC 2中,您可以使用此URL和此控制器方法: GET http://server/controller/get?id=5 public ActionResult Get(int id) { … } 并且ModelBinder将在方法参数中将id=5查询字符串转换为id = (int) 5 。 但是,这不起作用: GET http://server/controller/get?idlist=1,2,3,4,5 public ActionResult Get(int[] idlist) { … } idlist在参数中为null。 虽然对此进行解析非常简单,但我想知道是否有办法更改方法签名或查询字符串以使默认的ModelBinder自动反序列化数组/集合?

MVC4:使用电子邮件作为参数进行URL路由

我有这个url在我的VS网络服务器上运行得非常好 http://localhost:4454/cms/account/edituser/email@domain.com (works) 但是当我将这个站点发布到IIS7.5时,它只会抛出404。 http://dev.test.com/cms/account/edituser/email@domian.com (does not work) 但如果删除电子邮件地址,就会发生奇怪的事情 http://dev.test.com/cms/account/edituser/email (works , no 404) 但如果我用查询字符串更改我的url,它可以正常工作 http://dev.test.com/cms/account/edituser?id=email@domain.com (works) 这是我的路线入口 routes.MapRoute( “Default”, // Route name “{controller}/{action}/{id}”, // URL with parameters new { controller = “Home”, action = “Index”, id = UrlParameter.Optional }, // Parameter defaults new[] { “App.NameSpace.Web.Controllers” } ); 我注意到的奇怪的事情是,当服务器抛出404错误页面时,它是标准iis 404页面而不是我拥有的一个自定义页面。 所以我想知道我的路由映射有什么问题,或者IIS不喜欢有电子邮件作为参数的url。 但是我的当地开发人员一切正常。 谢谢