小编hai*_*770的帖子

C#在foreach中的语法不清楚

我在C#项目的脚手架视图中发现了这段代码,但我并不真正理解"List"部分之后的语法.为什么在编写ViewBag.data之前声明价格清单?因为ViewBag.Data已经包含一个价格转换为列表的查询,所以我不明白为什么会发生这种情况

@foreach (var x in ((List<WebCashRegister.Models.BLModels.Price>)ViewBag.data).Where(x => x.ProductId == item.Id).OrderByDescending(x => x.StartDate).Take(1))
Run Code Online (Sandbox Code Playgroud)

这是完整的查询,但我的问题只是关于这一部分:

List<WebCashRegister.Models.BLModels.Price>)ViewBag.data
Run Code Online (Sandbox Code Playgroud)

这个语法是如何工作的?谢谢!

c# model-view-controller lambda list

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

使用 appsettings.json 配置 DbContext 映射

我正在使用 .netCore 和实体框架从 SQL 数据库获取一些数据。
我已经设置了一个DbContext

public partial class DashboardContext : DbContext
{
    public NotfallDashboardContext(DbContextOptions<NotfallDashboardContext> options) : base(options) {}

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<DashboardData>(entity =>
        {
            ...
        }
    }

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

并使用以下设置将其注入我的控制器

services.AddDbContext<DashboardContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DashboardDatabase")));
Run Code Online (Sandbox Code Playgroud)

现在,该类DashboardData使用TableAttirbute 连接到正确的表和架构。

[Table("TableName", Schema = "dbo")]
public partial class DashboardData
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想做的是将这两个字符串“TableName”和“dbo”提取到我的 appsettings.json 配置中。我已经将配置添加到 appsettings,创建了 TableConfiguration 类并设置依赖项注入:

表配置.cs

public class TableConfiguration
{
    public string DatabaseView { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core asp.net-core

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

类型 {} 上不存在属性 ID

  const state = history.location.state;
  const id = state?.id;
Run Code Online (Sandbox Code Playgroud)

以下是打字稿错误:

Property 'id' does not exist on type '{}'.  TS2339
Run Code Online (Sandbox Code Playgroud)

我从history.location.state获取id值,即从react-router我将id属性作为状态发送到history.push(“pathname”,{id:“some value”}。

因此,这段代码可以工作,但会抛出打字稿错误。

请帮助我如何修复上述打字稿错误。

typescript react-router

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

jQuery .find()和.animate()

我正在做一个温度计,我正在研究温度计的动画.我有这个javascript方法:

function setScoreBar(score) {
    var scoreBar = document.getElementById("dynamicScoreBar");
    // var scoreBar = $(scoreBarElem);
    var height = 250;
    height = height - 20;
    var percentage = height / 100;
    scoreBar.find(".meter").animate({
         marginTop: (height - (score * percentage)) + "px"
    }, 400, function() {
        scoreBar.find(".meter").html(score + "%");
    });
}
Run Code Online (Sandbox Code Playgroud)

我的HTML看起来像这样

<div id="dynamicScoreBar" class="scoreBar">
    <div class="meter">0%</div>
    <div class="red"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

当我调试它时,我得到的错误表明.find和.animate方法不存在.但是,当我尝试写它时,我从视觉工作室获得帮助,它向我显示使用它的选项,因此它应该存在:P我可以使用其他东西吗?或者我有任何语法错误?

javascript jquery

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

ASP.NET MVC和服务层依赖注入

我有一些构造函数的问题,controller并且service被调用controller.

这是我的服务:

// model state dictionary for validation
private ModelStateDictionary _modelState;

// initialize UnitOfWork
private IUnitOfWork _unitOfWork;

public TownService(ModelStateDictionary modelState, IUnitOfWork unitOfWork)
{
    _modelState = modelState;
    _unitOfWork = unitOfWork;
}
Run Code Online (Sandbox Code Playgroud)

现在在我的控制器中我想创建新服务,传递控制器this.ModelState但不想添加UnitOfWork内部控制器.

像这样的东西:

private ITownService _townService;

public TownController()
{
    _townService = new TownService(this.ModelState, null);
}
Run Code Online (Sandbox Code Playgroud)

所以考虑的一切UnitOfWork都是在服务内部完成的.控制器只是传递它自己modelState,服务是创建新的服务UnitOfWork.

这可能也是好方法吗?我怎样才能做到这一点?或者我应该new UnitOfWork在控制器中添加而不是null参数?

因为我想尽可能地分离Core,DAL,Web,以便一切都发挥作用,并且在控制器和服务中添加UnitOfWork似乎是不好的方式......

谢谢.

.net asp.net-mvc dependency-injection unit-of-work service-layer

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

$(this).getAttribute 不是使用 $.each XML Javascript 时的函数

我正在遍历一个 XML 文档并尝试获取每个文档的 name 属性,但是 Chrome 一直告诉我这$(this).getAttribute("name");不是一个函数。任何人都知道发生了什么?

我看到了一个类似的帖子,但它是为了在按钮中传递$(this)一个onclick属性,而不是为了迭代。希望我能在这件事上有所启发。

XML:

<?xml version="1.0" encoding="UTF-8"?>
<user>
<hotel_group name="Pueblo Bonita" id="1">
    <hotel>
        <name>Pueblo Bonita 1</name>
        <location>
            <address>123 Deer St.</address>
            <city>Montego Bay</city>
            <state>St. Ann's Parish</state>
            <country>Jamaica</country>
        </location>
        <hotel_code>556</hotel_code>
    </hotel>
    <hotel>
        <name>Pueblo Bonita 2</name>
        <location>
            <address>123 Caribou Dr.</address>
            <city>Negril</city>
            <state>Spanish Town</state>
            <country>Jamaica</country>
        </location>
        <hotel_code>555</hotel_code>
    </hotel>
    <hotel>
        <name>Pueblo Bonita 3</name>
        <location>
            <address>30 Milsborough Dr</address>
            <city>Kingston</city>
            <state>Kingston</state>
            <country>Jamaica</country>
        </location>
        <hotel_code>552</hotel_code>
    </hotel>
</hotel_group>
</user>
Run Code Online (Sandbox Code Playgroud)

JS:

            $(xml).find("hotel_group").each(function (k, v) {
                if (!hotelGroups) {
                    hotelGroups …
Run Code Online (Sandbox Code Playgroud)

javascript xml jquery dom loops

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

.net Uri类不支持超过263个字符的URL

AFAIK应该支持任何高达2000个字符的内容.

再生产:

var s = "http://www."
+ string.Join("", Enumerable.Repeat("a", 249))
+ ".com";

new Uri(s, UriKind.Absolute);
Run Code Online (Sandbox Code Playgroud)

正在解析一个字母较短的一个没有问题:

var s = "http://www."
+ string.Join("", Enumerable.Repeat("a", 248))
+ ".com";
Run Code Online (Sandbox Code Playgroud)

Uri类代码起源于2003年,并被转移到.net标准/核心.MS仍然声称255个字符的路径/ URI足以满足每个人的需求吗?

.net asp.net-core

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

JQuery条件,如果找到一个类或其他

我有一个看起来像这样的div:

<div class="button button-t disabled">
Run Code Online (Sandbox Code Playgroud)

现在,在运行时添加了禁用,因此有时可以禁用类,有时也不会.

无论如何在jquery下面这样做?

example:

IF class button button-t HAS class .disabled then
  //do something
else
 //do something else
Run Code Online (Sandbox Code Playgroud)

jquery

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