除了使用“ASP.NET Core”标记外,还可以将此标记用于与ASP.NET Core 1.1特别相关的问题。
我正在 Asp.Net Web API Core 1.1 中实现身份验证和授权角色库。我正在使用 JWT 令牌来生成令牌并验证请求,但我坚持与美国匹配......
使用 ASP.NET Core 1.1 (MVC) 访问类库中的 httpcontext
我正在努力将 ASP.NET 4.6 框架代码迁移到 .NET Core。我目前还处于学习阶段。我是 MVC 新手,因为我一直使用 WebForms,但我想放弃 We...
我在 ASP.NET Core 1.1 解决方案中使用配置绑定。基本上,我在“ConfigureServices Startup”部分中有一些用于绑定的简单代码,如下所示: 服务.AddSingle...
我尝试通过链接 POST 到 SetLanguage 操作,但不确定如何完成以下代码: 我尝试通过链接 POST 到 SetLanguage 操作,但不确定如何完成以下代码: <form id="selectLanguage" asp-controller="Home" asp-action="SetLanguage" asp-route-returnUrl="@Context.Request.Path" method="post" role="form"> @foreach (var culture in cultures) { <div> <a href="[email protected]">@culture.Name</a> </div> } </form> 我应该使用form还是有一个直接的方法来发送带有culture : 'EN'参数的POST,例如? @Url.Action(action: "SetLanguage", controller:"Home", values: new { culture = culture.Name }, protocol:"POST") 做的工作吗? 我的控制器代码是 [HttpPost] public IActionResult SetLanguage(string culture, string returnUrl) { Response.Cookies.Append( CookieRequestCultureProvider.DefaultCookieName, CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)), new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) } ); return LocalRedirect(returnUrl); } 链接是 GET 请求。您不能通过链接发帖;这就是表格的用途。你需要这样的东西: <form id="selectLanguage" asp-controller="Home" asp-action="SetLanguage" asp-route-returnUrl="@Context.Request.Path" method="post" role="form"> @foreach (var culture in cultures) { <div> <button type="submit" name="culture" value="@culture.Name"> @culture.Name </button> </div> } </form> 然后,无论你点击哪个按钮,它的值都会被发布。如果你想让它看起来像链接,你可以相应地设置按钮的样式。 或者,您可以保留链接,但您需要使用 AJAX 来发布点击。 我会使用 GET 方法对链接本身执行操作,而不是依赖 POST 方法。我在我的项目中使用了这段特殊的代码,它就像一个魅力。 <a asp-controller="YourController" asp-action="SetLanguage" asp-route-culture="@culture.Name" asp-route-returnUri="@Context.Request.Path"> </a> 我的控制器代码看起来像这样: public IActionResult SetLanguage(string culture, string returnUri = "") { SetSettings(newCultureName); return Redirect(returnUri); } 你可以使用 JQuery : @foreach (var culture in cultures) { <div> <a href="javascript:setLanguage('@culture.Name')">@culture.Name</a> </div> } <script type="text/javascript"> function setLanguage(culture) { $.post("/home/setlanguage", { culture: culture}) .done(function (data) { location.reload(); }); } </script> 您可以创建一个 TagHelper,它将表单生成为 html 并接收您要放置的配置作为参数。 TagHelper 示例: TagHelper 类: [HtmlTargetElement("HyperLink")] public class HyperLinkTagHelper : TagHelper { #region Proprietes public string AspAction { get; set; } public string AspController { get; set; } public Method Method { get; set; } = Method.Get; public string Class { get; set; } public string Style { get; set; } private IDictionary<string, string> _routeValues; [HtmlAttributeName("asp-all-route-data", DictionaryAttributePrefix = "asp-route-")] public IDictionary<string, string> RouteValues { get => _routeValues ??= new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); set => _routeValues = value; } #endregion #region Injectable private readonly IUrlHelper _urlHelper; #endregion /// <summary> /// Constructor /// </summary> /// <param name="urlHelper"></param> public HyperLinkTagHelper(IUrlHelper urlHelper) { _urlHelper = urlHelper; } /// <summary> /// Render output /// </summary> /// <param name="context"></param> /// <param name="output"></param> /// <returns></returns> public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { output.TagMode = TagMode.StartTagAndEndTag; var linkName = (await output.GetChildContentAsync()).GetContent(); var builder = new StringBuilder(); var method = Method.ToString().ToLower(); var link = _urlHelper.Action(AspAction, AspController); builder.AppendFormat("<form method='{0}' role='form' action='{1}'>", method, link); foreach (var (key, value) in _routeValues) { builder.AppendFormat("<input type='hidden' name='{0}' value='{1}'>", key, value); } builder.AppendFormat("<input type='submit' value='{0}' class='{1}' style='{2}'/>", linkName, Class, Style); builder.Append("</form>"); output.Content.SetHtmlContent(builder.ToString()); } } 用法: <HyperLink asp-action="SendData" asp-controller="Default" method="Post" asp-route-data="test">Send data</HyperLink> 控制器: public class DefaultController : Controller { public IActionResult Index() { return View(); } [HttpPost] public IActionResult SendData(string data) { Console.WriteLine(data); return RedirectToAction("Index"); } } 方法: public enum Method { Get, Post, Delete, Put } 报名: @addTagHelper HyperLinkTagHelper.TagHelpers.HyperLinkTagHelper, HyperLinkTagHelper Github 上的例子 我没有用过,我只是带着意见来的 可以继承AnchorTagHelper并重写Process方法
ASP.NET Core 1.1用C#动态编译 缺少编译器所需成员'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'。
我使用Visual Studio 2017 RC,并启动了一个新的ASP.NET Core项目,目标是完整的.NET框架。这行代码将无法编译。动态处理程序 = _container.GetService(handlerType); ...
相当于ASP.NET Core 1.1中的BindPropertyAttribute
由于托管提供商的限制,我被迫使用ASP.NET Core 1.1。我已经创建了一个模型类,并希望该模型绑定到与...
。NET Core为什么不将nuget包中的参考Dll添加到bin文件夹中
。Net Core项目不会将nuget包中的参考DLL放入bin文件夹中。有没有一种属性可以帮助您做到这一点?一些第三方工具需要...
我已经实现了JWT Bearer令牌库的身份验证和授权。我正在使用下面的代码销毁JWT令牌或注销当前用户,但是它不起作用。 // var Claim = ...
在ASP.NET Core 1.1中引入了将视图组件用作标记帮助器。 (请参阅“将视图组件作为标签助手来调用”)。但是以下内容仅返回视图的Test for VC部分。它...
我有一个自定义模型活页夹,它将发布的值转换为另一个模型。问题是bindingContext.ValueProvider.GetValue(modelName)不返回任何值,即使有从客户端发布的值也是如此。 ...
我有一个自定义属性,该属性依赖于其他模型属性来起作用。该属性使用属性名称参数来从关联模型中获取值以执行验证。我...
基于IOptions .NET Core 1.1及更高版本的惰性验证之上的单元测试定制急切验证
这不是问题,而是我尝试进行的案例研究,未提出任何问题。如果将来有人尝试这种愚蠢的单元测试,这些是我的发现:...
如何在IMemoryCache的单独实例中清除cacheKey
我在ASP.NET Core 1.1上运行,在其中我在Startup.cs中配置策略以及DistributedMemoryCache,如下所示:var roleRepo = new RoleRepo(Configuration,new MemoryCache(new ...
指定格式为“ASP-的” HTML标签(ASP.NET核心)
在ASP.NET核心项目,我要显示一个特定格式的(只读)日期(说“DD / MM / YYYY HH:MM”)
我试图将发布的Windows Server 2008 R2我的ASP.NET的核心应用,但我得到这个错误:“在启动应用程序时出现错误”没有任何更多的描述!我能做什么?
我有一个问题,当我尝试访问我的PartsDbContext中的字段时,我收到以下错误:System.Data.SqlClient.SqlException:'无效的对象名'fieldName''似乎这是......
Asp.Net核心(Full .Net框架)与Asp.Net核心(.Net Core)性能
我发现,与传统的Asp.Net相比,Asp.Net核心的一个主要优势是多重性能提升(每秒请求数)。我发现许多基准站点都在谈论Asp.Net核心......
错误CS0234:命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是否缺少程序集引用?)
我正在尝试将以下模板项目升级到ASP.NET Core 1.1:https://github.com/wilanbigay/aspnet-core-aurelia-typescript-starter运行dotnet后,project.json文件有......
在.net核心中将MailMessage转换为MemoryStream
我使用.Net Core 1.2和Amazon SES(SimpleEmail)发送电子邮件(原始电子邮件)。下面是我们在.net framework 4.5中使用的工作代码版本:public MemoryStream ...
托管调试助手'FatalExecutionEngineError'0xc0000005
托管调试助手'FatalExecutionEngineError':'运行时遇到了致命错误。错误的地址位于0x641ad419,位于线程0x5d0c上。错误代码是0xc0000005。这个 ...