小编luc*_*cas的帖子

asp-controller和asp-action属性不起作用

谁会知道我缺少什么,为什么那些asp-controller和asp-action标签对我不起作用.我正在ASP.NET MVC Core中实现一个项目.

这不会触发:

<a asp-controller="App" asp-action="Trips" class="btn btn-lg btn-success">Go to Trips</a>
Run Code Online (Sandbox Code Playgroud)

剃刀工作正常:

@Html.ActionLink("Go to Trips", "Trips", "App", new object { }, new { @class = "btn btn-lg btn-success" })
Run Code Online (Sandbox Code Playgroud)

我是否需要配置一些服务才能正常工作.而且,哪种方式更受欢迎?Razor很受MVC的欢迎,那些asp标签是一种新的,更好的方式吗?

asp.net-core-mvc asp.net-core

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

将参数传递给MVVM命令

有谁知道如何传递参数Command使用CommandHandler?我们假设我想从XAML传递字符串硬编码值.我知道如何从XAML传递,但不知道如何在后面的MVVM代码中处理它.如果不需要传递任何参数,下面的代码可以正常工作.

public ICommand AttachmentChecked
{
    get
    {
        return _attachmentChecked ?? (_attachmentChecked = new CommandHandler(() => ExecuteAttachmentChecked(), CanExecuteAttachmentChecked()));
    }
}

private void ExecuteAttachmentChecked()
{        
}

private bool CanExecuteAttachmentChecked()
{
    return true;
}
Run Code Online (Sandbox Code Playgroud)

CommandHandler:

public class CommandHandler : ICommand
{
    private Action _action;
    private bool _canExecute;

    public CommandHandler(Action action, bool canExecute)
    {
        _action = action;
        _canExecute = canExecute;
    }

    public bool CanExecute(object parameter)
    {
        return _canExecute;
    }

    public event EventHandler CanExecuteChanged;

    public void Execute(object parameter)
    {
        _action();
    } …
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm

14
推荐指数
4
解决办法
4万
查看次数

MVVM 中的全局异常处理

有没有办法用 MVVM 模式实现全局异常处理。在我现有的情况下,每当 ViewModel 内部发生错误时,应用程序都不会崩溃,只是“隐藏”导致错误的代码之后发生的其余绑定(当然这对最终用户来说是非常误导的,而不是真的,并且永远不应该那样发生)。我不想为 viewModel 中的每个操作都实现 try catch,我不喜欢错误异常的静默方式,我真的很想为 WPF 应用程序实现一种处理全局错误的方法。有没有办法用 MVVM 做到这一点?

c# wpf mvvm

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

用于数据库的ASP.NET Core ILoggerProvider

我正在研究ASP.NET Core,我已经成功地使用文件系统实现了日志记录,但是如何使用数据库解决方案实现日志记录功能.如何将EF上下文传递给我的' LoggerDatabaseProvider',仍然将这两个解耦?下面的代码应该清除一些前期问题:

Startup.cs:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddEntityFramework()
            .AddEntityFrameworkSqlServer()
            .AddDbContext<WorldContext>();

        services.AddTransient<WorldContextSeedData>();


        services.AddScoped<IWorldRepository, WorldRepository>();
        //this one adds service with Dependency Injection that calls 'MyLogger' constructor with two parameters, instead the default one parametereless constructor. 
        services.AddScoped<ILogger, LoggerFileProvider.Logger>(provider => new LoggerFileProvider.Logger("CustomErrors", Startup.Configuration["Data:LogFilePath"]));
        //services.AddScoped<ILogger, LoggerDatabaseProvider.Logger>(provider => new LoggerDatabaseProvider.Logger("CustomErrors"));
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, WorldContextSeedData seeder)
    {
        string basePath = Startup.Configuration["Data:LogFilePath"];

        loggerFactory.AddProvider(new LoggerFileProvider(basePath));
        loggerFactory.AddProvider(new LoggerDatabaseProvider());

        app.UseStaticFiles();

        app.UseMvc(config =>
        {
            config.MapRoute(
                name: "Default",
                template: "{controller}/{action}/{id?}",
                defaults: new { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core

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

RestSharp C# HTTP POST Oauth 1

我在使用 HTTP POST 和 Oauth 1、RestClient C# 时遇到了困难。我能够使用 HTTP GET 和 Oauth 进行成功调用,但由于某种原因 HTTP Post 失败。我能够使用 Postman 使用相同的凭据成功进行 HTTP POST 调用,但不能使用 RestSharp。也许有人可以帮助我解决这个问题。

以下是 HTTP POST Oauth1 Postman 调用工作的屏幕截图:

在此输入图像描述

在此输入图像描述

在此输入图像描述

上面的 Postman 设置工作得很好,这是我到目前为止在 C# 和 RestClient 中的设置:

        public bool CreateShippingTemplate(string storeProviderStoreId, string consumerKey, string consumerSecret, string oAuthToken, string oAuthTokenSecret)
    {
        string url = "/shipping/templates";
        var request = GenerateSecureRequest(url, RequestType.POST, consumerKey, consumerSecret, oAuthToken, oAuthTokenSecret);

        var dataObj = new //ShippingTemplate
        {
            title = "Test Title 2",
            origin_country_id = "209",
            primary_cost = "1",
            secondary_cost = …
Run Code Online (Sandbox Code Playgroud)

c# api http restsharp

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

PagedList.Core.Mvc PagedListPager .Net Core中的Html扩展名不存在

好像PagedList.Core不包含Html帮助器的扩展方法,所以我不能使用下面的代码:

@Html.PagedListPager(Model, page => Url.Action("Index", new { page }), PagedListRenderOptions.MinimalWithItemCountText)
Run Code Online (Sandbox Code Playgroud)

我能够在以前版本的MVC中成功实现分页,但它在ASP.Net Core中不起作用.下面我附上了IL Dasm参考.我错过了什么,或者还有其他方法可以实现吗?

PagedList.Mvc:

在此输入图像描述

PagedList.Core.Mvc:

在此输入图像描述

model-view-controller pagedlist asp.net-core-mvc asp.net-core

4
推荐指数
3
解决办法
5951
查看次数

EF Core 和 Azure

我已经成功地实现了 EntityFramework Core 服务来与 SqlServer 一起工作,Azure 怎么样?

这是我的代码:project.json 依赖项:

"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0"
Run Code Online (Sandbox Code Playgroud)

还有我的 Setup.cs:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddEntityFramework()
            .AddEntityFrameworkSqlServer()
            .AddDbContext<WorldContext>();
    }
Run Code Online (Sandbox Code Playgroud)

是否有针对云 Azure 数据库工作的提供商?

asp.net-mvc entity-framework azure-sql-database

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

ValidationSummary.ModelOnly失败,但ValidationSummary.All有效

这很奇怪.出于某种原因,这失败了:

<div asp-validation-summary="ValidationSummary.ModelOnly"></div>
Run Code Online (Sandbox Code Playgroud)

但是这个工作得很好:

<div asp-validation-summary="All"></div>
Run Code Online (Sandbox Code Playgroud)

任何人都知道为什么?这是完整的代码段:

<div class="row">
<div class="col-md-6 col-md-offset-3">
    <h3>Login</h3>
    <form method="post" novalidate>
        <div asp-validation-summary="All"></div>
        @*<div asp-validation-summary="ValidationSummary.ModelOnly"></div>*@
        <div class="form-group">
            <label asp-for="Username"></label>
            <input type="text" asp-for="Username" class="form-control" />
            <span asp-validation-for="Username"></span>
        </div>
        <div class="form-group">
            <label asp-for="Password"></label>
            <input type="password" asp-for="Password" class="form-control" />
            <span asp-validation-for="Password"></span>
        </div>
        <div class="form-group">
            <input type="submit" value="Login" class="btn btn-success" />
        </div>
    </form>
</div>
Run Code Online (Sandbox Code Playgroud)

asp.net-core

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

如何为.Net核心标识表添加前缀

有没有办法为.Net核心身份表添加前缀,而不是'AspNetUsers'被创建为数据库名称,我想最终得到'ProjectName_AspNetUsers'

asp.net-core

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

单元测试中的依赖注入

我已经实现了基于数组的堆栈数据结构以及相应的单元测试.这个Stack实现了我的IStack接口.所以目前,我的UT类看起来像这样:

[TestClass]
public class Stack_ArrayBased_Tests
{      
    //check against empty collection
    [TestMethod]
    public void IsEmpty_NoElements()
    {
        var myStack = new Stack_ArrayBased_Example1(10);

        var exp = true;
        var act = myStack.IsEmpty();
        Assert.AreEqual(exp, act);
    }
Run Code Online (Sandbox Code Playgroud)

现在,我即将实现基于链接列表的Stack.此Stack将继承自相同的IStack接口.

我想单独测试链表Stack.由于两者都是从相同的接口继承,我应该能够利用已经实现的单元测试,以防止不必要的代码重复.

创建两个单独的Unit Test类的最佳方法是什么,一个用于基于Array的Stack,另一个用于基于Linked List的Stack,它们将使用相同的Unit Test方法?我假设依赖注入将是一个答案,但我会怎么做呢?

c# unit-testing dependency-injection

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

深复制不起作用,浅复制可以正常工作

有人知道为什么深层复制在我的情况下不起作用,浅层复制/赋值工作得很好:

        vm.category = null;

        $http.get("/api/category/" + vm.categoryId)
            .then(function (response) {
                //does not work
                angular.copy(response.data, vm.category);
                //works just fine
                vm.category = response.data;
            }, function (error) {
                vm.errorMsg = "There was an error retrieving category data: " + error;
            });
Run Code Online (Sandbox Code Playgroud)

这种深复制方法效果很好:

vm.category = angular.copy(response.data);
Run Code Online (Sandbox Code Playgroud)

为什么:

angular.copy(response.data, vm.category);
Run Code Online (Sandbox Code Playgroud)

不起作用?

angularjs

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