首页 > 解决方案 > 通过组合框选定项填充其他控件 asp.net core Razor Page

问题描述

我是 asp.net 核心的新手,正在努力学习……我有一个带有一些控件的剃须刀页面。(Asp.Net Core 2.2)并且我想通过从组合框中选择一个项目来填充文本框或其他控件……当我使用 GET 方法时,数据包含 html 标签……如果我使用 POST,则没有返回值。需要帮助来了解我的方式是否错误

cshtml如下

<script type="text/javascript">
  $(function () {

    $("#txtTcKimlikNo").change(function () {
        $.ajax({
            url: '@Url.Action("fillOgrenciData")',
            type: "POST",

            data: { "code": $(this).val() },
              "success": function (data) {
                if (data != null) {

                    alert(data);
                    $("#name").val(data.Okulno);
                    alert($("#name").val());
                    alert("ok");
                }
            }
        });
    });
});
</script>
<section class="well">
<h2 class="ra-well-title">Öğrenci Bilgileri</h2>
    <div class="form-group">
        <label class="control-label col-sm-4" for="name">Adı Soyadı</label>
        <div class="col-sm-8 col-md-6">
            <input id="name" class="k-textbox" />
        </div>
    </div>
    <div class="form-group">
        <label class="control-label col-sm-4" for="birthday">Doğum Tarihi</label>
        <div class="col-sm-8 col-md-6">
            @(Html.Kendo().DatePicker().Name("date").Value("10/09/1979"))
        </div>
    </div>

</div>
<div class="form-horizontal form-widgets col-sm-6">
    <div class="form-group">
        <label class="control-label col-sm-4" for="txtTcKimlikNo">Tc Kimlik No</label>
        <div class="col-sm-8 col-md-6">
            @(Html.Kendo().ComboBox()
                          .Name("txtTcKimlikNo")
                          .DataTextField("Tckimlikno")
                          .DataValueField("Ogrid")
                          .BindTo(Model.ogrenciler)
                          .Filter("Contains")
                          .Height(300)
                          .Template("<span class=\"k-state-default\">#: data.Adisoyadi #<p>#: data.Okulno #</p></span>"))
        </div>
    </div>
</div>

而cshtml.cs如下

    public void OnGet()
    {
        Data = _db.Okul.ToList();
        EgOgyillar = _db.PrEgogyillar.ToList();
        ogrenciler = _db.Ogrenci.ToList();
    }
    public JsonResult ReadOkul()
    {
        return new JsonResult(_db.Okul.ToList());
    }

    [HttpPost]
    public ActionResult fillOgrenciData(string code)
    {
        var query = from c in _db.Ogrenci
                    where c.Tckimlikno == Convert.ToInt64(code)
                    select c;
        return new JsonResult(query);
    }

但我无法用 data.Okulno填充名称文本框。它总是未定义。顺便说一句,我没有在应用程序中使用模型。如果需要使用,我将重新开始编写应用程序。

标签: c#asp.netasp.net-mvcrazorasp.net-core

解决方案


推荐阅读