小编eve*_*ert的帖子

通过单击 ListView (Xamarin.Forms) 中的按钮获取当前项目

我有以下列表视图(项目源设置在外部和字符串列表):

<?xml version="1.0" encoding="utf-8" ?>
<ListView xmlns="http://xamarin.com/schemas/2014/forms"
          xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
          x:Class="XXX.EditItemsList">

    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <StackLayout>
                    <Label Text="{Binding .}"/>
                    <Button Text="Delete"/>
                </StackLayout>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>

</ListView>
Run Code Online (Sandbox Code Playgroud)

通过单击按钮,我想删除列表中的当前项目(字符串)。这怎么可能?

谢谢你的帮助 :)

c# xamarin.forms

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

更改 blazor 菜单中导航项的可见性

我在 .NET Core 3.0 中使用 Blazor。当用户尚未登录时,我想在我的菜单中显示登录信息。当他登录时,应该隐藏登录导航项。我怎样才能做到这一点?

编辑:我通过使用异步任务更改了 OnInitializedAsync 方法,但这不是问题。对于第一次加载,它可以正常工作。但是然后我转到登录页面,登录并通过 NavigationManager 导航到主页,菜单不会“刷新”。我该如何解决这个问题?

以下代码不起作用...

<div>
    <ul class="nav flex-column">
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </li>
        @if (!_isLoggedIn)
        {
            <li class="nav-item px-3">
                <NavLink class="nav-link" href="login">
                    <span class="oi oi-person" aria-hidden="true"></span> <LocalizedString Key="NavMenuLogin" />
                </NavLink>
            </li>
            <li class="nav-item px-3">
                <NavLink class="nav-link" href="licenseedit">
                    <span class="oi oi-spreadsheet" aria-hidden="true"></span> <LocalizedString Key="NavMenuRegistration" />
                </NavLink>
            </li>
        }
    </ul>
</div>

@code{

    private bool _isLoggedIn;

    protected override async Task OnInitializedAsync()
    {
        await base.OnInitializedAsync();
        await TokenExistAsync(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core blazor .net-core-3.0

7
推荐指数
2
解决办法
7993
查看次数

使用 SQLite Inmemory 数据库对 Entity Framework 6 进行单元测试

实际上,我正在将单元测试从 .NET Core 项目迁移到 .NET Framework 项目。之前,我将使用 EF Core 的项目迁移到使用 EF 6 的项目中。

现在我想使用我的 DBContext 进行单元测试。我在我的 .NET Core 单元测试项目中配置了它,如下所示:https : //github.com/doubleSlashde/ASPNETCoreExample/blob/master/Tests/RepositoryTests/TestBase.cs。但这仅适用于 EF Core。

我现在必须如何在我的单元测试项目 (.NET Framework 4.6) 中配置 DBContext? 先决条件是我可以使用Full-Text-Search。对于 SQLite,我使用了 FTS-Extensions 之一。

c# sqlite unit-testing entity-framework entity-framework-6

5
推荐指数
0
解决办法
546
查看次数

使用 EF6(实体框架 6)编写单元测试

我有一个使用 .NET Framework 4.6.1 和 EF6 的 ASP.NET Core 项目。现在我想编写一些单元测试,并且已经花了几个小时来配置内存 SQLite 数据库以使用 EF6。但这不起作用。

那么,问题是如何在没有任何模拟(而不是内存数据库)的情况下使用 EF6 测试我的项目?

我当前的代码:

public class DataAccessLayer : DbContext
{
  public DataAccessLayer(string connectionString)
     : base(connectionString) {
  }

  public DataAccessLayer(DbConnection connection)
     : base(connection, true) {
  }

  public DbSet<User> Users { get; set; }

  public DbSet<Setting> Settings { get; set; }

  public DbSet<UserRole> UserRoles { get; set; }

  public DbSet<MainKey> MainKeys { get; set; }
}

[Table("Users")]
public class User
{
  [Key]
  [Required]
  public int UserID { get; …
Run Code Online (Sandbox Code Playgroud)

c# sqlite unit-testing entity-framework asp.net-core

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

在 ASP.NET Core 2.2 MVC 和 Identity 中设置登录路径

项目详情:

  • ASP.NET 核心 2.2 MVC
  • 身份

我创建了一个自己的登录视图。实际上,如果我调用一个视图,我必须获得授权(通过授权属性),它将自动重定向到登录视图。但目前它是“/Identity/Account/Login”。但我希望显示我自己的登录视图。我怎样才能做到这一点?

我已经在 startup.cs 中尝试过这个:

services.AddDefaultIdentity<ApplicationUser>(config => { config.SignIn.RequireConfirmedEmail = true; })
    .AddDefaultUI(UIFramework.Bootstrap4).AddEntityFrameworkStores<ApplicationDbContext>();

services.Configure<IdentityOptions>(options => { options.User.RequireUniqueEmail = true; });
services.ConfigureApplicationCookie(options =>
    {
        options.Cookie.Name = "auth_cookie";
        options.AccessDeniedPath = "/Account/Login";
        options.LoginPath = "/Account/Login";
        options.LogoutPath = "/Account/LogOff";
        options.Cookie.HttpOnly = true;
        options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
        options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;
        options.SlidingExpiration = true;
    });
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-identity asp.net-core-mvc asp.net-core asp.net-core-2.2

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