小编Ash*_*old的帖子

在VS 2013 SPA AccountController上使用EF Code-first扩展IdentityUser

我和同学正在使用Web API作为我们的后端开发Phonegap应用程序.以前我们在MVC4模板上使用旧的成员函数有一个工作原型.

我们已经找到了一些非常好的教程,介绍如何在普通的mvc控制器上扩展IdentityUser.我们设法让它工作,但转到VS 2013 SPA模板附带的API帐户控制器,我们没有设法让它工作.为了简化我们的问题,这里基本上是我们想要做的.

假设我们有一个像这样的Movie类:

public class Movie
{
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ApplicationUser User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我已经创建了这样的ApplicationUser(取自具有个人帐户的VS 2013 MVC模板):

public class ApplicationUser : IdentityUser
{
    public string DisplayName { get; set; }
}

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }

    public DbSet<Movie> Films { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在global.asax上的Application_Start中添加了这一行:

Database.SetInitializer<ApplicationDbContext>(new AppDbInit());
Run Code Online (Sandbox Code Playgroud)

AppDbInit类:

public class AppDbInit : DropCreateDatabaseAlways<ApplicationDbContext>
{ …
Run Code Online (Sandbox Code Playgroud)

c# asp.net entity-framework asp.net-web-api asp.net-identity

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

到单例服务 Blazor 服务器端的两种方式数据绑定

我一直在使用 WebAssembly 在客户端上使用 Blazor。但我想我现在应该尝试服务器端版本,并且我有一个简单的想法想要尝试。

所以我的理解是 Blazor 服务器端使用 SignalR 来“推送”更改,以便客户端重新渲染其页面的一部分。

我想尝试的是数据绑定到单例服务上的属性,如下所示:

@page "/counter"
@inject DataService dataService

<h1>Counter</h1>

<p>Current count: @currentCount ok</p>
<p> @dataService.MyProperty  </p>
<p>
    @dataService.Id
</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>


@code {
    int currentCount = 0;

    void IncrementCount()
    {
        currentCount++;
        dataService.MyProperty += "--o--|";
    }


}
Run Code Online (Sandbox Code Playgroud)

启动.cs:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddRazorPages();
        services.AddServerSideBlazor();
        services.AddSingleton<WeatherForecastService>();
        services.AddSingleton<DataService>();
    }
Run Code Online (Sandbox Code Playgroud)

服务:

namespace bl1.Services
{
public class DataService
{
    public DataService()
    {
        this.Id = System.Guid.NewGuid().ToString();
    }
    public string Id {get;set;}
    public string MyProperty { …
Run Code Online (Sandbox Code Playgroud)

blazor-server-side

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

使用部分视图从多个位置引用相同的js文件

我正在为MVC6应用程序设置一个架构,而且我在很大程度上依赖于ViewComponents.我的目标是让每个ViewComponent都有自己的javascript部分,但是从这里阅读, rendersection不能与ViewComponents一起工作,所以我一直试图用另一种方式来做.

在我的_Layout.cshtml中

在关闭body标签之前我有这个部分:

  @{Html.RenderPartial("_LayoutScriptsPartial"); }
Run Code Online (Sandbox Code Playgroud)

_LayoutScriptsPartial中

<environment names="Development">
  <script src="~/lib/jquery/dist/jquery.js"></script>    
  <script src="~/js/app.js" asp-append-version="true"></script>
</environment>
<environment names="Staging,Production">
      <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
        asp-fallback-src="~/lib/jquery/dist/jquery.min.js">
      </script>

       <script src="~/js/app.min.js" asp-append-version="true"></script>
</environment>
Run Code Online (Sandbox Code Playgroud)

现在在/ Views/Shared/Components/MyComponent/Default.cshtml中的一个组件中,我引用了另一个包含此内容的局部视图,它是一个轮播ViewComponent

 @model MyProj.MyViewModel
 @{Html.RenderPartial("_LayoutScriptsPartial"); }

 @if (!string.IsNullOrEmpty(Model.ImageUrl))
 {


<script type="text/javascript">

    var cssClass= "@Model.cssClass";
    var imageUrl = "@Model.ImageUrl";

    webbCore.carouselSetBackgroundImage(cssClass, imageUrl);

</script>

 }
Run Code Online (Sandbox Code Playgroud)

我必须这样做的唯一原因是我的视图组件可以使用所有必需的js文件.如您所见,我多次引用_LayoutScriptsPartial.当我使用chromes f12调试并观看网络部分时,我没有多次下载相同的javascript文件.我仍然对这个解决方案感觉不好.我环顾四周,没有找到任何好的解决方案来处理我真正喜欢的js文件和ViewComponents.这样的东西适合我的需要.

我的问题:这个解决方案有多好,有什么优点和缺点,有没有更好的方法来处理js文件和ViewComponents?

javascript razor asp.net-core asp.net-core-viewcomponent

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

如何使用角度和打字稿从 .graphql 文件加载查询

我正在使用 Angular 和 Ionic 开发一个应用程序。作为后端,我有一个运行 ApolloServer 和 Neo4j(使用grandstarter.io)的节点服务器。在客户端,我目前有一个名为 queries.ts 的文件,我在其中定义了我的 graphql 查询,如下所示:

supplierByName = (value) => {
    const query = gql`
    {
        Supplier(filter: {name: "${value}"}) {
            name
        }
    }
    `;

    return query;
};
Run Code Online (Sandbox Code Playgroud)

我正在使用 apollo 所以我这样做是为了运行我的 graphql 查询

this.apollo.query({
                query: this.queries.supplierByName(supplierName)
            })
            .subscribe(....)
Run Code Online (Sandbox Code Playgroud)

现在,由于不喜欢将我的 graphql 查询作为字符串,我希望将我的查询直接放在 .graphql 文件中。直接在 graphql 文件中工作时更好的工具,老实说,这主要是因为查询现在伤害了我的眼睛:)

我想要这样(文件:querys.graphql):

query supplierByName($value: String) {
 Supplier(filter: { name: "$value}" }) {
    name
 }
}
Run Code Online (Sandbox Code Playgroud)

然后当我用 Apollo 执行 graphql 查询时,我想做这样的事情:

 import supplierByName from './queries.graphql'
 .....
 this.apollo.query({
                query: supplierByName(supplierName)
            })
            .subscribe(....)
Run Code Online (Sandbox Code Playgroud)

并以某种简单的方式将其与 …

typescript apollo graphql angular

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

循环遍历对象内的对象列表

我正在使用mvc,我将名为DataModel的类作为我的模型传递给视图:

public class DataModel
{        
    public List<ServerStats> statsPerMonthPerServer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是类ServerStats:

public class ServerStats
{               
    public string ServerID { get; set; }
    public List<ColumnData> ServerMonthStats { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是ColumnData类:

public class ColumnData
{
    public string Date { get; set; }
    public double Sum { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我已经设法构建我的ModelData对象,如果我调试它,它看起来像我想要的信息,但我无法设法从视图中打印出来.这就是我试图做的事情:

视图:

@model IEnumerable<WebApp.Models.DataModel>
@foreach (var server in Model)
{
foreach (var month in server.statsPerMonthPerServer)
{
    @month.ServerID
    foreach (var column in month.ServerMonthStats)
    {
        @column.Date <br />
        @column.Sum …
Run Code Online (Sandbox Code Playgroud)

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

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

使用界面但保留具体值

我试图创建一个与接口列表一起工作的函数,但我想保留这些列表的具体类值.例如:

public interface GUID_OBJECT
{
    string GUID { get; set; }
}

public class Car : GUID_OBJECT
{
    public string GUID { get; set; }
    public string CarSpecifikProp { get; set; }
}

public class Bike : GUID_OBJECT
{
    public string GUID { get; set; }
    public string BikeSpecifikProp { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
class Program
{
    static void Main(string[] args)
    {
        var cars = new List<Car>() { new Car() { GUID = "1", CarSpecifikProp = "carstuff" }, new Car() …
Run Code Online (Sandbox Code Playgroud)

c# interface

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