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}
};
}
}