小编Wel*_*ing的帖子

ASP.NET Core 2.1身份:如何删除默认UI剃刀页面?

扩展此问题的答案: 在ASP.NET Core Identity UI中更改路由?

当想要自定义URL时,Javier建议使用以下选项之一:

  • 使用默认UI的scaffolding元素并自行进行所有必要的自定义.
  • 使用重定向规则将旧路由指向新路由.
  • 根本不要使用默认UI.

从新的ASP.NET Core 2.1 MVC项目,使用身份验证:个人用户帐户设置,您如何不使用默认UI?它似乎默认安装在Identity Core上.

在此输入图像描述

创建项目后,删除默认UI剃刀页面的方法是什么,仍然使用Identity Core?

我可以删除该/Identity/区域,然后创建我自己的区域AccountController吗?

asp.net asp.net-identity razor-pages asp.net-core-2.1

19
推荐指数
2
解决办法
9652
查看次数

单击浏览器后退按钮时隐藏加载gif?

我有一个加载旋转动画.gif,在页面提交后显示,并且一切正常.但是,如果您提交表单,然后单击浏览器上的后退箭头,它将显示上一页,加载.gif仍然可见.

我设置它,以便在页面加载时隐藏加载gif.但是,如果您只是单击浏览器中的后退按钮(如firefox),它就不会完全重新加载页面,动画gif仍然可见.

有没有办法在点击浏览器后退按钮时隐藏加载.gif文件?

这是我的jquery代码:

<!-- inline scripts related to this page -->
<script type="text/javascript">
    // Show spinning animation on form submit.
    $("#filter-results-form").submit(function (e) {
        // Check for form errors before displaying loading gif.
        if ($('.field-validation-error').length > 1) {
            $("#loading-image").hide();
        } else {
            $("#loading-image").show(0); // show animation
        }
        return true; // allow regular form submission
    });
</script>
Run Code Online (Sandbox Code Playgroud)

这是我的相关html:

<div>
    <button type="submit"><i class="fa fa-search"></i> Search</button>
    <span class="loading collapse" id="loading-image"><img src="@Url.Content("~/content/img/layout/ajax-loader.gif")"></span>
</div>
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个解决方案,但它不起作用:

jQuery(function ($) {
    $("#loading-image").hide(); // Hide animation on page load. …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery html5

10
推荐指数
1
解决办法
3224
查看次数

字体真棒图标仅以黑色打印

我正在开发一个必须打印包含Font Awesome图标的页面的网站.问题是当你去打印时,Font Awesome图标不会以彩色打印.

在浏览器中,它们以彩色显示,但在打印页面时,图标为纯黑色.反正有没有让Font Awesome图标以彩色打印?也许通过带有@media print {}的CSS?

编辑:另外,我在firefox中开发.

html css printing fonts font-awesome

9
推荐指数
2
解决办法
5614
查看次数

ASP.NET Core 2.1:HTTP POST验证失败后导航回到页面会显示浏览器错误

问题:

使用ASP.NET Core 2.1 MVC项目,使用浏览器后退按钮返回到表单(表单POST无法通过服务器端验证)后,我收到以下浏览器错误消息:

Firefox中的错误消息:

文件已过期

该文档不再可用。

所请求的文档在Firefox的缓存中不可用。

  • 为了安全起见,Firefox不会自动重新请求敏感文档。
  • 单击“重试”以从网站重新请求文档。

Chrome中的错误消息:

确认重新提交表单

此网页需要您之前输入的数据才能正确显示。您可以再次发送此数据,但是这样做将重复此页面先前执行的所有操作。

按下重新加载按钮以重新提交加载页面所需的数据。

ERR_CACHE_MISS

重现步骤:

  1. 提交HTML表单帖子,服务器端验证失败
  2. 导航到另一个URL
  3. 单击浏览器的后退按钮以返回带有表单的页面

笔记:

它似乎与为防伪系统禁用了响应缓存(https://docs.microsoft.com/en-us/aspnet/core/performance/caching/middleware?view=aspnetcore-2.1)有关。

用于生成安全令牌以防止跨站点请求伪造(CSRF)攻击的Antiforgery系统将Cache-Control和Pragma标头设置为no-cache,这样就不会缓存响应。有关如何为HTML表单元素禁用防伪令牌的信息,请参见ASP.NET Core防伪配置。

我可以确认,如果@Html.AntiForgeryToken()从HTML表单中删除它,浏览器错误消息就会消失。

在使用的ASP.NET MVC5中,这不是问题AntiForgeryToken

题:

ASP.NET Core 2.1中,是否有人找到一种继续使用Antiforgery系统并防止使用浏览器后退按钮时显示此浏览器错误消息的方法?

这是我的POST操作:

    [HttpPost]
    [ValidateAntiForgeryToken]
    [ActionName("Contact-Form")]
    public async Task<ActionResult> ContactForm(ContactFormViewModel cfvm)
    {
        if (ModelState.IsValid)
        {
            // << Handling of the form submit code here >>

            TempData["Success"] = string.Format("Your contact request was submitted successfully!");

            return RedirectToAction("Contact-Form-Success");
        }

        TempData["Error"] = "The …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-mvc asp.net-core asp.net-core-2.1

7
推荐指数
1
解决办法
2913
查看次数

如何遍历静态类常量?

而不是使用如下代码中所示的Switch语句,是否有另一种方法来检查是否foo.Type与类中的任何常量匹配Parent.Child

预期的目标是遍历所有常量值以查看是否foo.Type匹配,而不是必须将每个常量指定为a case.

家长班:

public class Parent
{
    public static class Child
    {
        public const string JOHN = "John";
        public const string MARY = "Mary";
        public const string JANE = "Jane";
    }
}
Run Code Online (Sandbox Code Playgroud)

码:

switch (foo.Type)
{
     case Parent.Child.JOHN:
     case Parent.Child.MARY:
     case Parent.Child.JANE:
         // Do Something
         break;
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net loops

6
推荐指数
1
解决办法
1700
查看次数

如何从C#中的相对URL字符串中获取参数?

使用C#从相对URL字符串获取特定参数的最有效方法是什么?

例如,如何ACTION从以下相对URL字符串中获取参数的值:

string url = "/page/example?ACTION=data&FOO=test";
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用:

var myUri = new Uri(url, UriKind.Relative);
String action = HttpUtility.ParseQueryString(myUri.Query).Get("ACTION");
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

相对URI不支持此操作.

c# regex asp.net parsing

5
推荐指数
2
解决办法
4286
查看次数

如何防止托管在 Azure 上的开发暂存网站被搜索引擎索引

针对 上托管的 Web 应用程序Microsoft Azure,是否有办法防止mydomain.azurewebsites.netURL 被搜索引擎索引?我计划使用网络应用程序作为临时网站,并且不希望它意外被索引。

我知道我可以将robots.txt所有内容设置为 的文件添加到项目中no-index,但我不想意外地将其发布到生产站点(或者忘记将其发布到登台网站)。

Azure 中是否有设置可以阻止“.azurewebsites.net”域被编入索引?或者,如果该robots.txt文件是唯一的方法,您如何保持其组织robots.txt,以便使用ASP.NET Core.

asp.net azure azure-web-app-service

5
推荐指数
1
解决办法
2122
查看次数

使用 CsvHelper,如果第一列的值等于 0,如何映射到第二列

如果第一个字段小于 0,有没有办法映射到第二个字段?

例如,如果您要映射带有列foo和的 csv 文件bar

Map(m => m.Price).Name("foo");
Run Code Online (Sandbox Code Playgroud)

如果该列foo等于 0,我们是否可以映射Price到该bar列的值。

c# csv asp.net asp.net-mvc csvhelper

4
推荐指数
1
解决办法
1108
查看次数

ASP.NET Core中UseHttpsRedirection和AddDirectToHttpsPermanent之间的区别

Startup.cs文件中,请考虑以下事项:

public void ConfigureServices(IServiceCollection services)
{
    // Irrelevant code removed

    services.AddHttpsRedirection(options =>
    {
        options.RedirectStatusCode = StatusCodes.Status301MovedPermanently;
    });
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    // Irrelevant code removed

    app.UseHttpsRedirection();

    app.UseRewriter(new RewriteOptions()
        .AddRedirectToWwwPermanent()
        .AddRedirectToHttpsPermanent()
    );
}
Run Code Online (Sandbox Code Playgroud)

据我所知,我必须使用重写器来设置AddRedirectToWwwPermanent.我的问题是,我应该同时使用app.UseHttpsRedirection()AddRedirectToHttpsPermanent()吗?或者,如果他们做同样的事情,我应该删除哪些?

我只是想确保我正确地重定向到Https,与Wwww重定向一起使用.

c# asp.net-core

3
推荐指数
1
解决办法
653
查看次数

防止AddRedirectToWwwPermanent()将“ www”添加到ASP.NET Core 2.1中* .azurewebsites.net的前面

当我将网站部署为Azure Web App时,我的AddRedirectToWwwPermanent()重写规则是添加“ www”。到默认天蓝色URL的前面,例如www.myproject.azurewebsites.net。在子域中使用“ www”会导致页面无法加载。

有没有一种方法可以跳过AddRedirectToWwwPermanent()专门针对*.azurewebsites.netURL 的重写规则?

我目前在使用Rewriter Startup.cs

app.UseRewriter(new RewriteOptions()
    .AddRedirectToWwwPermanent()
);
Run Code Online (Sandbox Code Playgroud)

或者,是否可以将*.azurewebsites.netURL 重定向到我自己的自定义域?我已经尝试了以下方法,但是不起作用:

app.UseRewriter(new RewriteOptions()
    .AddRedirect(@"myproject.azurewebsites.net", @"www.example.com", StatusCodes.Status301MovedPermanently)
    .AddRedirectToWwwPermanent()
);
Run Code Online (Sandbox Code Playgroud)

更新,也尝试过:

app.UseRewriter(new RewriteOptions()
        .AddRedirect(@"https://myproject.azurewebsites.net", @"https://www.example.com", StatusCodes.Status301MovedPermanently)
        .AddRedirectToWwwPermanent()
    );
Run Code Online (Sandbox Code Playgroud)

c# azure asp.net-core asp.net-core-2.1

3
推荐指数
1
解决办法
351
查看次数

ASP.NET Core 2.1中的CookieAuthenticationOptions.LogoutPath属性做什么?

在ASP.NET Core 2.1中,任何人都可以解释其CookieAuthenticationOptions.LogoutPath作用吗?根据说明文件

如果提供了LogoutPath处理程序,则将根据ReturnUrlParameter重定向到该路径的请求。

但我什至不认为该句子具有适当的语法,因此我对含义感到困惑。

在中Startup.cs,我将其设置为:

// Added after AddMvc()
services.ConfigureApplicationCookie(options =>
{
    options.LogoutPath = $"/account/logout";
});
Run Code Online (Sandbox Code Playgroud)
  1. 什么时候叫这个?

  2. 我是否需要为此GETAccountControllerView中创建相应的动作?还是POST采取行动?例如:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Logout()
    {
        await _signInManager.SignOutAsync();
        return RedirectToAction("Index", "Home");
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我的注销操作是否需要注销用户,或者届时他们是否已经注销?

c# asp.net-core asp.net-core-2.1

2
推荐指数
1
解决办法
367
查看次数

非空List对象的Count是否总是大于0?

在C#中,如果一个List()对象不为null,那是否也意味着它Count总是大于0?

例如,如果您有一个intList类型的对象,List<int>以下代码是多余的?

if (intList != null && intList.Count > 0) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

.net c# list

-3
推荐指数
1
解决办法
1188
查看次数