如何根据选择列表 ASP.NET Core 中的条件从同一个表中生成项目

阿米尔乔伊卡

所以问题来了:我有一个product包含列ID, Name, Type(Brand or Product) 和ParentProduct(Select List)表格

现在想象该Products表有一些记录,其中一些是(类型)产品,而另一些是品牌,我想要的是,在插入一个Product类型为 = 产品的新产品时,然后ParentProduct显示类型为品牌的产品,而将产品作为品牌插入则是父产品选择列表已禁用。

丽娜

您可以使用jQuery获取该Type值,然后判断是否禁用该值ParentProduct

这是您可以遵循的简单演示:

型号:

public class Product
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Type { get; set; }
    public string ParentProduct { get; set; }
}
public class Brand
{
    public int ID { get; set; }
    public string Name { get; set; }
}

查看(创建.cshtml):

@model Product
    
<div class="row">
    <div class="col-md-4">
        <form asp-action="Create">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="Name" class="control-label"></label>
                <input asp-for="Name" class="form-control" />
                <span asp-validation-for="Name" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="Type" class="control-label"></label>
                <select asp-for="Type" class="form-control">
                    <option value="0">Select a Type</option>
                    <option value="Brand">Brand</option>
                    <option value="Product">Product</option>
                </select>
                <span asp-validation-for="Type" class="text-danger"></span>
            </div>
            <div class="form-group">
                <label asp-for="ParentProduct" class="control-label"></label>
                <select asp-for="ParentProduct" class="form-control" asp-items="@ViewBag.Brand" disabled>
                    <option>Select a Brand</option>
                </select>
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" />
            </div>
        </form>
    </div>
</div>

<div>
    <a asp-action="Index">Back to List</a>
</div>

@section Scripts
{
<script>
    $("#Type").change(function () {
        var v = $(this).val();
        console.log(v);
        if (v == "Product") {
            $("#ParentProduct").removeAttr('disabled');
        }
        else {
            $("#ParentProduct").prop('disabled', true);
        }
    });
</script>
}

控制器:

public class HomeController : Controller
{        
    private readonly YourDbContext _context;
    public HomeController(YourDbContext context)
    {
        _context = context;
    }

    public IActionResult Privacy()
    {
        ViewBag.Brand = new SelectList(_context.Brands.ToList(), "ID", "Name");
        return View();
    }
}

结果:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据 ASP.NET Core 5 中的 dropdownlList 选择值从同一个表中的数据库中获取值

如何根据另一个下拉列表 ASP.NET 的选择填充下拉列表

.NET Core和Classic ASP在同一个解决方案中?

如何根据asp.net core中的项目列表过滤实体

asp.net core swashbuckle 如何在同一个控制器中使用版本控制

如何在.NET Core Hosted Services 中的同一个项目下安装多个服务

如何根据数据过滤ASP.net core中的结果

如何在ASP.NET Core MVC的其他下拉菜单中根据用户选择填充下拉菜单?

如何在 ASP.NET Core 中创建下拉列表?

如何在同一个ASP.Net MVC项目中使用Unity MVC和Unity WebAPI

如何根据从下拉列表中选择的内容(ASP.NET中的C#)更改标签的输出

根据 ASP.NET MVC 5 中另一个下拉列表中的选择填充下拉列表

创建一个ASP.NET Core项目

同时插入2行数据到同一个模型项ASP.NET Core

如何根据Asp.Net Core上的用户选择更新视图

如何从一个表中获取 Id 并将其保存到 ASP.NET Core 中的另一个表,存储库模式

在一个 ASP.NET Core Razor 页面中为两个模型创建一个列表

如何从ASP.NET Core中的另一个类访问DataContext?

ASP.NET Core 使用联合结果填充选择列表

ASP.Net Core2剃刀选择列表

使用 ASP.NET Core MVC 根据从下拉列表中选择的值填充文本框

在ASP.net Core中填充下拉列表

在ASP.NET Core中填充下拉列表

在ASP.NET Core MVC中创建实体列表

如何设置由 ASP.NET Core 中的 SQL 表填充的下拉列表的选项值?

如何从ASP.NET Core项目中删除Docker支持?

ASP.NET Core项目:如何防止打字稿编译

如何为ASP.NET Core 2.1创建项目模板

如何按照存储库模式在 Asp.Net Core 5.0 项目上实现 .Net Core Identity?