草庐IT

asp-format

全部标签

c# - 如何在 ASP.NET MVC Razor 中有条件地显示字段?

我对C#和ASP.NETMVCRazor还很陌生。如果该字段不为空,我想在我的View中显示该字段。代码@Html.LabelFor(model=>model.phone2)@Html.EditorFor(model=>model.phone2)@Html.ValidationMessageFor(model=>model.phone2)现在,我想先输出如果model.phone2is""行否则输出:如何使用ASP.NETMVCRazor执行此操作? 最佳答案 语法可能不完美,但试试这个:@{vartrClass=string.Is

c# - ASP.NET 站点中静态变量的范围

如果在同一个应用程序池中运行多个ASP.NET应用程序,我将拥有一个类的静态变量的多少个实例?每个应用程序池一个?每个应用程序池工作进程一个?每个申请一个?还有别的吗?只是为了提供一些背景:我正在特别考虑我们拥有的一个ServiceLocator实现,它在静态类变量中包含一个UnityContainer。问题是,多个应用程序在ServiceLocator上注册一个容器是否会相互干扰?应用程序在.NET4.0上的IIS7.5中运行,这应该有什么不同。示例代码(简化)publicstaticclassServiceLocator{privatestaticIUnityContainer_c

c# - 在 ASP.NET 的 IdentityUserRole 2.0 中获取角色名称

在更新EntityFramework中的dll之前,我能够做到这一点user.Roles.Where(r=>r.Role.Name=="Admin").FisrtOrDefault();现在,我只能做r.RoleId,我找不到方法来检索角色ID的名称。我在我的Controller和我的AuthorizeAttribute类中使用它。有人可以帮我吗?问候 最佳答案 试试这个stringid=UserManager.FindByEmail(model.Email).Id;IListroleNames=UserManager.GetRol

c# - 默认 ASP.NET Core 身份密码的正则表达式

注意:我相信这个问题不是这个question的重复问题.我的问题是处理asp.netcoreidentity用于密码验证的默认验证规则以及如何制作它的正则表达式,而链接的问题正在讨论,一般来说是关于验证密码的行为(这不能解决我的问题)ASP.NETCore在密码验证后启用默认值最少8个字符应该至少有一个数字应该至少有一个大写应该至少有一个小写至少应有一个特殊字符(允许使用哪些特殊字符?)牢记这些条件,我尝试制作以下正则表达式,但它不起作用。^((?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])|(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^a-z

c# - 有什么方法可以将复选框列表绑定(bind)到 asp.net mvc 中的模型

我正在寻找一种快速简便的方法来在模型中发生回发时绑定(bind)复选框列表项列表。显然,现在常见的做法似乎是这样的form.GetValues("checkboxList")[0].Contains("true");这似乎很痛苦而且并不完全安全。在UpdateModel(myViewModel,form.ToValueProvider());期间,有没有一种方法可以绑定(bind)复选框列表(在View中使用或不使用帮助器创建)或者甚至是数据数组?将填充IList的阶段或string[]模型内部? 最佳答案 你可以从一个模型开始:p

c# - 在 ASP.NET 中每个用户只允许一个并发登录

在ASP.NETWeb应用程序中是否可以允许每个用户同时登录一次?我正在开发一个Web应用程序,我想在其中确保该网站一次只允许每位用户登录一次。如何检查当前用户是否已经登录?请建议我们可以处理此问题的正确登录方法。我认为我们应该使用SQLServersession状态来处理这个问题。你有什么建议?我想到了一个解决方案。我们可以这样做:当用户登录系统时,我们会在用户列中插入sessionID。(我们将使用数据库session,以便我们可以轻松获取所有session相关数据,如isexpired、expiredatetime等)。当同一个用户再次尝试登录时,我们将检查该sessionID列

c# - 使用媒体类型对 ASP.NET Web API 2 进行版本控制

我正在使用带有属性路由的ASP.NETWebAPI2,但我似乎无法使用媒体类型application/vnd.company[.version].param[+json]进行版本控制去工作。我收到以下错误:Thegivenkeywasnotpresentinthedictionary.源于在FindActionMatchRequiredRouteAndQueryParameters()方法中测试关键的_actionParameterNames[descriptor]。foreach(varcandidateincandidatesFound){HttpActionDescriptord

c# - session 超时在 asp.net mvc 4 C# 中不起作用。为什么?

对于我的网站,我在web.config文件中配置了1周的登录session超时这是登录代码[AllowAnonymous][HttpPost]publicActionResultLogin(stringLogin,stringPassword){//emptypasswordsarenotallowedif(Password=="")returnRedirect(Request.UrlReferrer.ToString());boolLoginResult=WebSecurity.Login(Login,Password,true);returnRedirect(Request.Url

c# - ASP.NET 路由 - 忽略具有特定扩展名的文件的路由,无论目录如何

假设我想删除具有特定文件扩展名的文件的所有映射路径。RouteTable.Routes.Ignore("{root}.hello");适用于根目录中具有扩展名.hello的任何文件,但是只要我进入任何子文件夹,“忽略”规则就不会应用。我尝试了很多不同的组合,但似乎无法得到一个不会抛出编译器异常或不起作用的组合? 最佳答案 查看Phil'sblog对此。基本上,你会做这样的事情:示例1:不对所有.aspx文件的任何请求执行路由:routes.IgnoreRoute("{*allaspx}",new{allaspx=@".*\.aspx

c# - ASP.NET MVC 2 - Html.EditorFor 可空类型?

我有两个编辑器模板:一个用于小数,一个用于小数?(可为空)但是当我的模型中有一个可为null的小数时,它会尝试加载普通的小数编辑器:model.SomeDecimal)%>model.SomeNullableDecimal)%>第一个工作正常,并加载了十进制编辑器模板。第二个也尝试加载小数模板(但失败,因为它不是小数字段)。错误信息是:Themodelitempassedintothedictionaryisnull,butthisdictionaryrequiresanon-nullmodelitemoftype'System.Decimal'.我的模板声明如下:十进制模板:"%>可