Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Razor Pages-如果值匹配,如何将模型数据添加到硬编码的选择选项_C#_Html_Asp.net Core_Razor_Razor Pages - Fatal编程技术网

C# Razor Pages-如果值匹配,如何将模型数据添加到硬编码的选择选项

C# Razor Pages-如果值匹配,如何将模型数据添加到硬编码的选择选项,c#,html,asp.net-core,razor,razor-pages,C#,Html,Asp.net Core,Razor,Razor Pages,我的剃须刀页面上有一个硬编码的选择选项 以下是选择部分: <div class="form-group col-md-5 input-group"> <select class="custom-select" id="validationCustom04" required> <option select

我的剃须刀页面上有一个硬编码的选择选项

以下是选择部分:

<div class="form-group col-md-5 input-group">
                        <select class="custom-select" id="validationCustom04" required>
                            <option selected disabled value="">Choose...</option>
                            <option value="000000001585">2100 ZA</option>
                            <option value="000000001570">10 TL'lik Steam Bakiyesi</option>
                            <option value="000000001696">4300 ZA</option>
                            <option value="000000001572">400 Riot Points</option>
                            <option value="000000001573">840 Riot Points</option>
                            <option value="000000001574">Gameforge 6 TRY E-Pin</option>
                            <option value="000000001575">50 Hükümdarlık</option>
                            <option value="000000001582">10 TL Razer Gold Pin</option>
                            <option value="000000001583">25 TL Razer Gold Pin</option>
                            <option value="000000001705">20 TL'lik Steam Bakiyesi</option>
                            <option value="000000001706">9000 ZA</option>
                            <option value="0187022">10 TL Razer Gold Pin</option>
                            <option value="0186479">10 TL Steam Cüzdan Kodu</option>

                        </select>
                        <div class="invalid-feedback">
                            Please select a game.
                        </div>


                    </div>
下面是我要传递到Razor页面的列表:

var gamestock = await _context.GameBanks
                .Where(m => m.used == 0)
                .Where(n => n.status == 0)
                .Where(p => p.status == 2)
                .GroupBy(g => new
                {
                    g.ProductCode,
                  
                })
                .Select(gcs => new GameBanksDTO
                {
                    ProductCode = gcs.Key.ProductCode,
                    Quantity = gcs.Count(g => g.Quantity)
                })
                .ToListAsync();
是否可以将数量添加到选择选项上匹配的硬编码值?(我假设00000000 1585与型号产品代码匹配。)

2100 ZA*库存数量:100*

提前感谢。

您可以使用jQuery更改硬编码值,如下所示:

<script>
 $(function () {
    $("#validationCustom04 > option").each(function () {
        var count = '@Model.GameBanksDto.Count';
        if (count != '') {
            var item = true;
            @for (var i = 0; i < Model.GameBanksDto.Count; i++) {
                    @: item = `@Model.GameBanksDto[i].ProductCode`;
                    @:if (item == this.value)
                    @: {
                         @: var value = this.text;
                         @: $(this).text(value +" Stock Quantity: "+ '@Model.GameBanksDto[i].Quantity')
                    @:}
            }
        }
    });

})
</script>

$(函数(){
$(“#validationCustom04>选项”)。每个(函数(){
var count='@Model.GameBanksDto.count';
如果(计数!=''){
var项=真;
@对于(var i=0;i
后端代码:

public class IndexModel : PageModel
{
    public List<GameBanksDto> GameBanksDto { get; set; }
    public void OnGet()
    {
       //for easy testing I hard coded the data
        GameBanksDto = new List<GameBanksDto>()
        {
            new GameBanksDto(){ProductCode="000000001585",Quantity=12},
            new GameBanksDto(){ProductCode="000000001570",Quantity=34},
            new GameBanksDto(){ProductCode="000000001696",Quantity=32},
            new GameBanksDto(){ProductCode="000000001572",Quantity=33}
        };

    }
}
公共类索引模型:PageModel
{
公共列表GameBanksTo{get;set;}
公共互联网
{
//为了便于测试,我硬编码了数据
GameBanksDto=新列表()
{
new GameBanksDto(){ProductCode=“00000000 1585”,数量=12},
新GameBanksDto(){ProductCode=“00000000 1570”,数量=34},
新GameBanksDto(){ProductCode=“00000000 1696”,数量=32},
new GameBanksDto(){ProductCode=“00000000 1572”,数量=33}
};
}
}
结果:


您想在什么时候添加相应的数量来选择选项?应用程序运行时还是选择项目时?为什么要这样做?我认为无论是否应该这样做,这都是一件复杂的事情,会降低性能。请将您的“硬编码”值放入列表或字典或其他内容中,然后使用@foreach()Hi@Cenk将它们输出到Razor页面,如果我的答案有助于您解决问题,您能否接受作为答案?如果没有,请您跟进以让我知道?请参阅:。谢谢。
<script>
 $(function () {
    $("#validationCustom04 > option").each(function () {
        var count = '@Model.GameBanksDto.Count';
        if (count != '') {
            var item = true;
            @for (var i = 0; i < Model.GameBanksDto.Count; i++) {
                    @: item = `@Model.GameBanksDto[i].ProductCode`;
                    @:if (item == this.value)
                    @: {
                         @: var value = this.text;
                         @: $(this).text(value +" Stock Quantity: "+ '@Model.GameBanksDto[i].Quantity')
                    @:}
            }
        }
    });

})
</script>
public class IndexModel : PageModel
{
    public List<GameBanksDto> GameBanksDto { get; set; }
    public void OnGet()
    {
       //for easy testing I hard coded the data
        GameBanksDto = new List<GameBanksDto>()
        {
            new GameBanksDto(){ProductCode="000000001585",Quantity=12},
            new GameBanksDto(){ProductCode="000000001570",Quantity=34},
            new GameBanksDto(){ProductCode="000000001696",Quantity=32},
            new GameBanksDto(){ProductCode="000000001572",Quantity=33}
        };

    }
}