C# 显示的数据取决于从数据库asp.net下载的其他数据

C# 显示的数据取决于从数据库asp.net下载的其他数据,c#,asp.net,asp.net-mvc,asp.net-core,devexpress,C#,Asp.net,Asp.net Mvc,Asp.net Core,Devexpress,问题描述: using System; using System.Collections.Generic; using AppEcp.Models; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using System.ComponentModel.DataAnnotations; namespace App.Models { public partial cla

问题描述:



using System;
using System.Collections.Generic;
using AppEcp.Models;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations;


namespace App.Models
{
    public partial class Members_Model
    {
        public int Id { get; set; }
        public string Login { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
    }


    public partial class MembersDbContext : DbContext
    {
        public MembersDbContext() { }

        public virtual DbSet<Members_Model> Members { get; set; }

        public MembersDbContext(DbContextOptions<MembersDbContext> options) : base(options) { }



        protected override void OnModelCreating(ModelBuilder modelBuilder)  { }

    }
}
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using App.Models;
using Newtonsoft.Json;
using DevExtreme.AspNet.Data;
using DevExtreme.AspNet.Mvc;

namespace App.Controllers
{
    public class MembersController : Controller
    {


        private readonly MembersDbContext _membersContext;

        public MembersController(MembersDbContext membersContext)
        {
            _membersContext = membersContext;
        }


        public IActionResult GetItems(DataSourceLoadOptions loadOptions)
        {
            var GetMethod = _membersContext.Members.Select(i => new
            {
                i.Id,
                i.Login, 
                i.Name,
                i.Surname


            });

            return Json(DataSourceLoader.Load(GetMethod, loadOptions));
        }

        public ActionResult GetNameAndSurname() 
        {

            return;
        }

    }
}
我正在将“登录”列从数据库下载到我的选择框

我还有两个字段:2x textbox 我尝试在selectbox中进行选择,选择后

他们从数据库中的同一行下载到文本框,但从名称和姓氏列下载

型号代码:



using System;
using System.Collections.Generic;
using AppEcp.Models;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using System.ComponentModel.DataAnnotations;


namespace App.Models
{
    public partial class Members_Model
    {
        public int Id { get; set; }
        public string Login { get; set; }
        public string Name { get; set; }
        public string Surname { get; set; }
    }


    public partial class MembersDbContext : DbContext
    {
        public MembersDbContext() { }

        public virtual DbSet<Members_Model> Members { get; set; }

        public MembersDbContext(DbContextOptions<MembersDbContext> options) : base(options) { }



        protected override void OnModelCreating(ModelBuilder modelBuilder)  { }

    }
}
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using App.Models;
using Newtonsoft.Json;
using DevExtreme.AspNet.Data;
using DevExtreme.AspNet.Mvc;

namespace App.Controllers
{
    public class MembersController : Controller
    {


        private readonly MembersDbContext _membersContext;

        public MembersController(MembersDbContext membersContext)
        {
            _membersContext = membersContext;
        }


        public IActionResult GetItems(DataSourceLoadOptions loadOptions)
        {
            var GetMethod = _membersContext.Members.Select(i => new
            {
                i.Id,
                i.Login, 
                i.Name,
                i.Surname


            });

            return Json(DataSourceLoader.Load(GetMethod, loadOptions));
        }

        public ActionResult GetNameAndSurname() 
        {

            return;
        }

    }
}
我试过: 要在此ajax中使用jquery,请在selectbox中更改.OnValueChanged以在Controller中运行函数

查看

    @(Html
       .DevExtreme()
       .SelectBox()
       .ID("id_login")
       .DataSource(d => d
           .Mvc()
           .Controller("Members")
           .Key("Id")
           .LoadAction("GetItems")
       )
       .DisplayExpr("Login")
       .ValueExpr("Id")
       .SearchEnabled(true)
       .OnValueChanged("getMyFuntion")
    )
     @(Html.DevExtreme().TextBox()
       .ID("tx01")
       .ReadOnly(true)
    )
     @(Html.DevExtreme().TextBox()
       .ID("tx02")
       .ReadOnly(true)
    )


<script>
    function getMyFuntion() {

        var Vtx01= "?";
        var Vtx02 = "?";

        $.ajax({
            type: "GET",
            url: "@Url.Action("GetNameAndSurname")",
            contentType: 'application/json; charset=utf-8',
            dataType: "?",
            success: function (res) {
                document.getElementById("tx01").value = "?";
                document.getElementById("tx02").value = "?";
            },
            failure: function (response, error) {
                alert(error);

            },
            error: function (req, status, error) {
                alert(error);
            }
        });

    }
</script>
@(Html)
.DevExtreme()
.SelectBox()
.ID(“ID\u登录”)
.DataSource(d=>d
.Mvc()
.财务总监(“成员”)
.Key(“Id”)
.LoadAction(“GetItems”)
)
.DisplayExpr(“登录”)
.ValueExpr(“Id”)
.SearchEnabled(真)
.OnValueChanged(“GetMyFunction”)
)
@(Html.DevExtreme().TextBox())
.ID(“tx01”)
.只读(true)
)
@(Html.DevExtreme().TextBox())
.ID(“tx02”)
.只读(true)
)
函数getMyFunction(){
var Vtx01=“?”;
变量Vtx02=“?”;
$.ajax({
键入:“获取”,
url:“@url.Action”(“GetNameandNames”)”,
contentType:'application/json;charset=utf-8',
数据类型:“?”,
成功:功能(res){
document.getElementById(“tx01”).value=“?”;
document.getElementById(“tx02”).value=“?”;
},
故障:功能(响应、错误){
警报(错误);
},
错误:功能(请求、状态、错误){
警报(错误);
}
});
}

我不知道如何处理这个问题,我无法编写代码来加载值​​从数据库输入文本框(取决于选择框上的所选项目)

将参数赋予控制器函数getnameand姓氏(字符串登录) 然后是这样的: 控制器

[WebGet(UriTemplate = "/GetNameAndSurname/{login}")]
public ActionResult GetNameAndSurname(string login){
   urDB.Where(x=>x.login == login).Select(s=> new Members_Model {
      Name = s.Name,
      Surname = s.Surname
   });
.. and some stuff u want too... than return...
}
那么ajax将看起来像:

$.ajax({    
type: "GET",
url: "@Url.Action("GetNameAndSurname")",
data: {"Login" : valueOfLoginFromUrWebPage}
......
});