小编Yar*_*icx的帖子

在视图中获取ASP.NET标识当前用户

我使用ASP.NET Identity 2.0和MVC.我需要在视图中记录用户的姓名,姓氏,电子邮件等.怎么能得到它?我可以得到@ User.Identity,但没有我的用户类的属性.

//in my view, i need here my ApplicationUser class
<div>
@User.Identity.Name
</div>

//ApplicationUser class
public class ApplicationUser : IdentityUser<int, CustomUserLogin, CustomUserRole,
CustomUserClaim> 
{
    public ApplicationUser()
    {
        this.CreatedDate = DateTime.Now;
    }

    public DateTime CreatedDate { get; set; }

    public string Name { get; set; }

    public string Surname { get; set; }

    public string TaxOffice { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-identity-2

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

ASP.NET 标识会话超时

我使用 ASP.NET Identity .. 我想将会话超时设置为无限制或最大值。我试过一些东西,但没有效果。注意:我使用共享主机。谢谢你。

//web.config
<system.web>
<customErrors mode="Off" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Forms" />
<sessionState timeout="500000" />
</system.web>

//asp.identiyt config 
public void ConfigureAuth(IAppBuilder app)
{
    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        ExpireTimeSpan = TimeSpan.FromDays(365),
        LoginPath = new PathString("/user/login"),
        Provider = new CookieAuthenticationProvider
        {
            OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser, int>
                (
                     validateInterval: TimeSpan.FromDays(365),
                     regenerateIdentityCallback: (manager, user) => user.GenerateUserIdentityAsync(manager),
                     getUserIdCallback: (id) => (Int32.Parse(id.GetUserId()))
                )
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

asp.net session asp.net-identity

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

ASP.NET MVC路由不适用于.html扩展名

我使用ASP.NET MVC开发了一个Web应用程序。我的路线有问题。

我需要这样的路线。 http://localhost/content-name/23.html

我为此定义了一条路线

//i need this route but it's not work
routes.MapRoute(
"GetContent",
"{sefLink}/{contentId}.html",
new { controller = "Content", action = "GetContent" },
new[] { "CanEcomm.Controllers" });
Run Code Online (Sandbox Code Playgroud)

但是这条路线不起作用。IIS正在向我显示404页面。当我删除.html扩展名时,路由可行。

//this route is working. i just remove ".html" extension
routes.MapRoute(
    "GetContent",
    "{sefLink}/{contentId}",
    new { controller = "Content", action = "GetContent" },
    new[] { "CanEcomm.Controllers" });
Run Code Online (Sandbox Code Playgroud)

我该如何解决?谢谢

c# asp.net asp.net-mvc routes asp.net-mvc-4

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

按参数名称绑定Ninject

我使用ASP .NET MVC和Ninject.我需要参数名称的条件绑定.我怎样才能做到这一点?

private readonly ITemplateProvider _msgTemplate;
private readonly ITemplateProvider _mailTemplate;

public OrderLineManager(ITemplateProvider msgTemplate,ITemplateProvider mailTemplate)
{
    _msgTemplate = msgTemplate;
    _mailTemplate = mailTemplate;
}

//ninject kernel , 
//i need for msgTample MessageTemplateProvider
//i need for mailTemplate MailTemplateProvider
_kernel.Bind<ITemplateProvider>()
    .To<MessageTemplateProvider>()
    .When(request => request.Target.Member.Name.Equals("msgTemplate"));

_kernel.Bind<ITemplateProvider>()
    .To<MailTemplateProvider>()
    .When(request => request.Target.Member.Name.Equals("mailTemplate"));
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc ninject

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

验证ASP.NET MVC中的字符串数组

我使用ASP.NET MVC。如何在我的视图模型中验证字符串数组。因为“ Required”属性不适用于字符串数组。

[DisplayName("Content Name")]
[Required(ErrorMessage = "Content name is required")]
public string[] ContentName { get; set; }
Run Code Online (Sandbox Code Playgroud)

asp.net validation asp.net-mvc

4
推荐指数
2
解决办法
2576
查看次数

HandleBars .Net如果比较

我将Handlebars .NET用于邮件模板,因此我在服务器端宽度ASP.NET MVC上生成模板。我需要这样的比较。但这行不通吗?我能做什么?

//Product.ProdType is a enum property 

{{#if (Product.ProdType=='BlaBlaBla')}}
<p>This is a test</p>
{{/if}}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc mustache handlebars.js handlebars.net

3
推荐指数
2
解决办法
6019
查看次数

AllowHtml不适用于Array

我在ASP.NET MVC项目中使用AllowHtml属性,但不适用于视图模型中的数组。如果该属性不是数组,则该属性有效。现在,我无法验证我的html标签。

有什么建议吗?谢谢

[AllowHtml]

public string[] ContentText { get; set; }
Run Code Online (Sandbox Code Playgroud)

错误:

A potentially dangerous Request.Form value was detected from the client
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc attributes

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

ASP.NET Core .css扩展进入控制器

我将ASP.NET应用程序迁移到ASP.NET Core。

http:// localhost:56623 / js / jquery.js

工作正常,但

http:// localhost:56623 / css / bootstrap.css

调用我的CategoryController的CheckIsCustomPage操作,因此我的应用程序当然会引发异常。

我能做什么?

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "Category",
        template: "{sefLink}/{pageNumber}",
        defaults: new { controller = "Category", action = "CheckIsCustomPage", pageNumber = "1" }
    );

    routes.MapRoute(
        name: "Ajax",
        template: "ajax/{action}",
        defaults: new { controller = "Ajax" });

    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});
Run Code Online (Sandbox Code Playgroud)

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

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

使用 CTE 获取 XML 路径的值

我尝试将数据获取到@DataSrcCatIds变量。但是 SQL Server 抛出错误

ASSIGNMENT 语句中不允许使用 FOR XML 子句

我用 Google 搜索并找到了解决方案,但该解决方案不使用 CTE。我必须使用公用表表达式对其进行 DataSrcCatIds 。

CTE有什么解决办法吗?

谢谢

DECLARE @DataSrcCatIds AS NVARCHAR(MAX)

;WITH CatTree (CategoryId ) AS
(
    SELECT CategoryId FROM Categories
    WHERE SefLink='my-link'
    UNION ALL
    SELECT ct.CategoryId
    FROM Categories ct
    INNER JOIN CatTree AS parent ON parent.CategoryId = ct.ParentCatId
)
SELECT @DataSrcCatIds = DataSrcCatIds + ',' 
FROM Categories c
JOIN CatTree ct ON ct.CategoryId = c.CategoryId
FOR XML PATH ('')

SET @DataSrcCatIds = LEFT(@DataSrcCatIds, LEN(@DataSrcCatIds) - 1)
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

0
推荐指数
1
解决办法
1407
查看次数