1

私はasp.net mvc 4でかみそりビューで剣道UIを使用していますが、サンプルのようにサーバーにパラメーターを送信するajaxを介してアクションからリストをロードすると、剣道コンボで問題が発生します 。行。

編集ページをロードすると、コンボは期待どおりにデータをロードしてフィルタリングしますが、このフィールドの値は - [object object] です。

私は .DataTextField("ProffName") + .DataValueField("ID") を宣言しました

私のクライアントコントローラー:

public ActionResult Edit(int id = 0)
    {
        Clients clients = db.Clients.Find(id);
        if (clients == null)
        {
            return HttpNotFound();
        }
        ViewData["MyAgency"] = new SelectList(db.Agency, "ID", "AgentName", clients.AgencyId);
        ViewData["MyCategory1"] = new SelectList(db.CategoryTbl, "ID", "category", clients.CategoryId);

        List<SelectListItem> obj = new List<SelectListItem>();
        obj.Add(new SelectListItem { Text = "male", Value = "1" });
        obj.Add(new SelectListItem { Text = "female", Value = "2" });
        obj.Add(new SelectListItem { Text = "choose", Value = "0" });
        ViewData["MyMin"] = obj;

        ViewBag.ProffID = new SelectList(db.ProfTBL, "ID", "ProffName", clients.ProffID);
        ViewBag.Metapel = new SelectList(db.Workers, "ID", "WorkerName", clients.Metapel);
        return View(clients);
    }

私のProffController:

public ActionResult ProffVM_Read(string text)
    {
        var Proff_Tbl = db.ProfTBL.Select(proff => new ProffVm { ID = proff.ID, ProffName = proff.ProffName });
        if (!string.IsNullOrEmpty(text))
        {
            Proff_Tbl = Proff_Tbl.Where(p => p.ProffName.Contains(text));
        }
        return Json(Proff_Tbl, JsonRequestBehavior.AllowGet);
    }

そして剣道コンボ:

@Html.Label("Proff")
                            @(Html.Kendo().ComboBoxFor(model => model.ProffID)
                              .Name("proffCbo")
                              .DataTextField("ProffName")
                              .DataValueField("ID")
                              .Events(e => e
                                    .Select("proffCbo_select")
                                    .Change("proffCbo_change")
                                )
                              .DataSource(source =>
                              {
                                  source.Read(read =>
                                  {
                                      read.Action("ProffVM_Read", "Proff")
                                               .Data("onAdditionalData");
                                  });
                              })
                            )

どこが間違っていますか??? このコンボをテキストボックスに変更できますが...魔法を実現する必要があります。

ありがとう

4

1 に答える 1

0

この2行を変更

var Proff_Tbl = db.ProfTBL.Select(proff => new ProffVm { ID = proff.ID, ProffName = proff.ProffName });

Proff_Tbl = Proff_Tbl.Where(p => p.ProffName.Contains(text));

var Proff_Tbl = db.ProfTBL.Select(proff => new ProffVm { ID = proff.ID, ProffName = proff.ProffName }).ToList();

Proff_Tbl = Proff_Tbl.Where(p => p.ProffName.Contains(text)).ToList();
于 2013-11-08T16:09:19.810 に答える