小编Leo*_*lva的帖子

在Razor CSHTML中切换语句

我正在ASP.NET MVC4,Twitter.Bootstap 3.0.0和Razor中开发一个项目.在视图中,我需要根据属性值显示按钮.使用该switch语句,下面的示例不起作用(不显示任何内容):

@switch (Model.CurrentStage) { 
    case Enums.Stage.ReadyToStart:
        Html.ActionLink(Language.Start, "Start", new { id=Model.ProcessId }, new { @class = "btn btn-success" });
        break;
    case Enums.Stage.Flour:
        Html.ActionLink(Language.GoToFlour, "Details", "Flours", new { id=Model.Flour.FlourId }, new { @class = "btn btn-success" });
        break;
    ...
}
Run Code Online (Sandbox Code Playgroud)

使用<span>标记更改位,代码可以正常工作:

@switch (Model.CurrentStage) { 
    case Enums.Stage.ReadyToStart:
        <span>@Html.ActionLink(Language.Start, "Start", new { id=Model.ProcessId }, new { @class = "btn btn-success" })</span>
        break;
    case Enums.Stage.Flour:
        <span>@Html.ActionLink(Language.GoToFlour, "Details", "Flours", new { id=Model.Flour.FlourId }, new { @class = "btn btn-success" …
Run Code Online (Sandbox Code Playgroud)

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

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

Mvc Mini Profiler请求包含和不包含RouteBasePath的文件

这让我发疯,我正在用Firefox和IE测试我的应用程序,在Firefox上运行得很好,但在IE迷你分析中正在进行这5个请求

/Content/mvc-mini-profiler/mini-profiler-includes.css?v=1.9.0.0

/Content/mvc-mini-profiler/mini-profiler-includes.js?v=1.9.0.0

/Content/mvc-mini-profiler/mini-profiler-jquery.tmpl.beta1.js

/mini-profiler-includes.css?v=1.9.0.0

/mini-profiler-includes.js?v=1.9.0.0

我将RouteBasePath设置为〜/ Content/mvc-mini-profiler,但由于某种原因,它也在没有它的情况下发出请求.

我做错了什么或是某种错误?

谢谢.

asp.net-mvc mvc-mini-profiler

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

PagedList和Async

我在我的视图中使用了PagedList,但我的脚手架控制器是使用这种默认的索引操作生成的:

public async Task<ActionResult> Index()
{
    return View(await db.Claimants.ToListAsync());
}
Run Code Online (Sandbox Code Playgroud)

我找不到PagedList的扩展名async.我的方法必须改为这样的形式:

public ActionResult Index(int? page)
{
    var claimants = db.Claimants.OrderBy(b => b.Name);
    var notNullPage = page ?? 1;
    return View(claimants.ToPagedList(notNullPage, 50));
}
Run Code Online (Sandbox Code Playgroud)

是否有合理的方式使用PagedList和async

c# asp.net-mvc pagedlist task-parallel-library async-await

11
推荐指数
2
解决办法
5050
查看次数

数据注释的唯一约束

我正在使用System.ComponentModel.DataAnnotations命名空间来验证我的域类.如何创建自定义属性来验证属性的唯一性,而不管数据库(例如通过某个接口)?

validation asp.net-mvc data-annotations

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

OWIN - 自定义UserManager

我必须自定义UserManager类以在公司结构中查找和验证用户(将Active Directory身份验证与另一个Oracle身份验证混合).虽然我已经实现了FindAsyncCreateIdentityAsync,作为验证的用户没有设置.

我的UserManager实施:

using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Security.Claims;
using System.Web;
using MyProject.Common;
using MyProject.Models;
using Microsoft.AspNet.Identity;
using System.Threading.Tasks;

namespace MyProject.Infrastructure
{
    public class GNUserManager : UserManager<ApplicationUser>
    {
        public GNUserManager(IUserStore<ApplicationUser> store) : base(store)
        {

        }        

        public override async Task<ApplicationUser> FindAsync(string userName, string password)
        {
            /* Performs some logic here that returns true */

            if (foundUser) {
                return await Task.Run(() => new ApplicationUser
                {
                    UserName = userName, 
                    Id = userName
                }); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc owin

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

尝试通过安全透明方法'Microsoft.Web.Helpers.PreApplicationStartCode.Start()'访问安全关键方法

我的解决方案中有两个MVC网站,已转换为MVC5。对于特定测试,我需要两个站点都运行,因为一个站点通过Web API与另一个站点通信。他们正在使用IIS Express运行。

当我在Visual Studio(2012)中启动其中一个并访问启动的计算机时,一切正常。当我尝试访问另一个时,出现以下消息:

尝试通过安全透明方法'Microsoft.Web.Helpers.PreApplicationStartCode.Start()'访问安全关键方法'System.Web.WebPages.Razor.WebPageRazorHost.AddGlobalImport(System.String)'失败。

根据其他答案的建议,我更新了所有软件包,并DotNetOpenAuth从其中一个软件包中卸载了软件包,但没有结果。

这是package.config站点1上的:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="AntiXSS" version="4.2.1" targetFramework="net45" />
  <package id="Antlr" version="3.4.1.9004" targetFramework="net45" />
  <package id="BeginCollectionItem" version="1.2.1.0" targetFramework="net45" />
  <package id="Code52.i18n.MVC4" version="0.2.8" targetFramework="net45" />
  <package id="CSS-Filters-Polyfill" version="1.0.0" targetFramework="net45" />
  <package id="DotNet.Highcharts" version="2.0" targetFramework="net45" />
  <package id="DotNetOpenAuth.AspNet" version="4.3.4.13329" targetFramework="net45" />
  <package id="DotNetOpenAuth.Core" version="4.3.4.13329" targetFramework="net45" />
  <package id="DotNetOpenAuth.OAuth.Consumer" version="4.3.4.13329" targetFramework="net45" />
  <package id="DotNetOpenAuth.OAuth.Core" version="4.3.4.13329" targetFramework="net45" />
  <package id="DotNetOpenAuth.OpenId.Core" version="4.3.4.13329" targetFramework="net45" />
  <package id="DotNetOpenAuth.OpenId.RelyingParty" version="4.3.4.13329" targetFramework="net45" />
  <package id="EntityFramework" version="6.0.1" targetFramework="net45" …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc nuget-package

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