首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ASP.NET核心MVC应用程序的数据记录表单中显示所选设备的适当字段

在ASP.NET核心MVC应用程序的数据记录表单中显示所选设备的适当字段
EN

Stack Overflow用户
提问于 2021-09-02 10:47:34
回答 1查看 45关注 0票数 0

场景:作业请求有单位,作业请求登记表中填写的字段根据单位不同。要实现此场景,应遵循什么方法?

我只有一张登记表。要申请的注册表单位中的字段,用户要申请的单位中的....etc,例如技术服务、生物医学...等单位可以在注册表中selected.If用户选择的技术服务,他们应该看到不同的字段填写。如果他选择生物医学,他们应该看到不同的领域。

registration form design

registration form cshtml

问题中的更正

我们有一个应用程序,企业中的员工可以向技术单位报告电气故障、墙面粉刷、计算机硬件故障等问题,这些问题可以由技术单位进行监控。将问题转发到相关部门时要填写的字段根据问题将转发到的部门而有所不同。例如:当向计算机技术服务报告问题时,所请求的信息是不同的。如果要向生物医学单元报告问题,则必须输入不同的信息。为此,要求设计不同的表单,并要求用户在选择要报告的问题的支持单位后,从这些表单中填写相关信息。

在解释我的问题时,我可能向Rena解释错了。但结果是,rena实际上发布了一些代码,以便我可以从单个视图调用其他视图。我正在努力实现Rena所做的事情。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-03 09:50:36

下面是一个简单的演示:

型号:

代码语言:javascript
复制
public class job
{
    public int Id { get; set; }
    public string JobName { get; set; }
}
public class RegisterForm
{
    public string JobName { get; set; }
    public int Age { get; set; }
    public string Name { get; set; }
}

查看:

Index.cshtml(located in /Views/Home/Index.cshtml):

代码语言:javascript
复制
model RegisterForm
<form>
    <div class="form-group">
        <label asp-for="JobName" class="control-label"></label>
        <select asp-for="JobName" asp-items="ViewBag.Jobs" class="form-control">
             <option>Choose A Job</option>
        </select>
        <span asp-validation-for="JobName" class="text-danger"></span>
    </div>
    <div id="result"></div>
</form>
@section Scripts
{
    <script>
        $('#JobName').on('change', function () {
            $.ajax({
                url: '@Url.Action("ReturnPartial", "Home")',
                type: 'GET',
                data: { JobName: $("#JobName").val() },
                success: function (res) {
                    $("#result").html(res);   //add this...
                },
                error: function () {
                }
            });
        });
    </script>
}

PartialView:

Biomedical.cshtml(located in /Views/Home/Biomedical.cshtml):

代码语言:javascript
复制
@model RegisterForm
<h1>Biomedical RegisterForm</h1>
<div class="form-group">
    <label asp-for="Age" class="control-label"></label>
    <input asp-for="Age" class="form-control" />
    <span asp-validation-for="Age" class="text-danger"></span>
</div>

Technical.cshtml(located in /Views/Home/Technical.cshtml):

代码语言:javascript
复制
@model RegisterForm
<h1>Technical RegisterForm</h1>
<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>

控制器:

代码语言:javascript
复制
public class HomeController : Controller
{       
    public IActionResult Index()
    {
        var jobs = new List<job>()
        {
            new job(){Id=1,JobName="Technical"},
            new job(){Id=2,JobName="Biomedical"}
        };
        ViewBag.Jobs = new SelectList(jobs, "JobName", "JobName");
        return View();
    }
    public IActionResult ReturnPartial(string JobName)
    {
        return PartialView(JobName);
    }
}

结果:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69028787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档