Заполнение других элементов управления выбранным элементом в выпадающем списке asp.net core Razor Page - PullRequest
0 голосов
/ 20 февраля 2019

Я новичок в ядре 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);
    }

Но я не могу заполнить текстовое поле name data.Okulno.Это всегда приходит неопределенным.Кстати, я не использовал модели в приложении.Если это необходимо, я перезапущу, чтобы написать приложение.

...