小编Mar*_*ian的帖子

将阵列Json发布到.net核心web api控制器

我有这个代码

    [HttpPost("[action]")]
    public IActionResult Add([FromBody] Player player)
    {
        PlayerService.Add(player);
        PlayerService.SaveChanges();
        return Created("Player created",player.Name);
    }
Run Code Online (Sandbox Code Playgroud)

而这个json

[
  {
    "name": "Olivier Giroud",
    "league": "Premier League",
    "currentTeam": "Arsenal"
  }
]
Run Code Online (Sandbox Code Playgroud)

一切都很好.但是,如果我想发送一个json数组

[ 
  { "name": "Olivier Giroud", "league": "Premier League", "currentTeam": "Arsenal" },    
  {"name": "Lucas Perez","league": "Premier League","currentTeam":"Arsenal"}
]
Run Code Online (Sandbox Code Playgroud)

我得到一个异常"对象引用未设置为对象的实例." ".我试过List

public IActionResult Add([FromBody] List< Player >  players)    
Run Code Online (Sandbox Code Playgroud)

要么

public IActionResult Add([FromBody] IEnumerable < Player >  players)
Run Code Online (Sandbox Code Playgroud)

要么

public IActionResult Add([FromBody] Players[] players)
Run Code Online (Sandbox Code Playgroud)

但没有成功.我该怎么办?

.net c# post json asp.net-web-api

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

<select> for <select> c#to javascript

我有一个ViewBag.List>我有竞争,每个比赛都有一个团队列表.示例:{英超联赛:[阿森纳,切尔西等]德甲联赛名单:[拜仁慕尼黑,沃尔夫斯堡等]

我有2个选择.当用户选择第一个选择(比赛)时,我希望第二个选择将有来自比赛的队伍.如果他选择英超联赛,第二选择将有阿森纳,切尔西等.

我试图为每个比赛选择一个,如果他选择一个,那个将是可见的而其他的隐藏或没有,但所有的选择都与asp-for string CurrentTeam链接,我不能让团队进入数据库.

另一种选择是使用javascript函数.每当用户选择比赛 - > onclick ="myfunction(this)"并且在该功能中我有这样的事情:

    function myFunction(select) {
        var sel = document.getElementById("teams");
        if (select.value == 'Premier League') {
            sel.innerHTML = "";

            @foreach(var team in ViewBag.List[0])   // Premier League
            {
            @: var x = document.createElement("OPTION");
            @: x.setAttribute("value", @team);
            @:var t = document.createTextNode(@team);
            @: x.appendChild(t)
            @: sel.appendChild(x);
                }
        }
        else // the other competitions
Run Code Online (Sandbox Code Playgroud)

但我不能在javascript函数中使用ViewBag.

我只想要一个选择对另一个选择作出反应并将这两个东西放在数据库中.有什么建议 ?谢谢!

javascript c# asp.net jquery razor

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

单页应用程序Angular + .Net Core上的Bootstrap 4

有人试图用它来申请

dotnet new --install Microsoft.AspNetCore.SpaTemplates::*
dotnet new angular
Run Code Online (Sandbox Code Playgroud)

?比如在这个例子中https://blogs.msdn.microsoft.com/webdev/2017/02/14/building-single-page-applications-on-asp-net-core-with-javascriptservices/

这个命令使用bootstrap 3创建一个angular + .net核心项目.我正在尝试使用bootstrap 4.

我试图将bootstrap 4 css放在vendor.css(bootstrap 3所在的位置)但没有成功.

有谁知道如何将bootstrap 4放在bootstrap 3上?最终使用javascript插件jquery和popper.

这将非常有帮助,谢谢!

single-page-application asp.net-core bootstrap-4 angular

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

实体框架核心2自动生成列

我有这个型号:

public class Model
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long ModelId {get;set;}
    public int Variable {get;set;}
 }
Run Code Online (Sandbox Code Playgroud)

我希望两个变量在添加时自动递增.如果我放置[Key]DatabaseGeneratedOption.Identity同时使用Variable属性,EF Core会说您不能拥有2个标识列.

我也尝试过FluentAPI:

modelBuilder.Entity().Property(variable => variable).ValueGeneratedOnAdd();
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.

如何在添加时添加2个自动递增值?

c# sql-server entity-framework entity-framework-core

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