以下のような剣道ドロップダウンリストがあります。ページの読み込み時に、Kendo DDL を異なる値で 2 回読み込みます。私が必要とするのは、最後に読み込まれた値のみを Kendo DDL にバインドし、最初の値を選択することです。私の剣道 DDL バインドは正しい値ですが、最後に読み込まれた値から最初の値が選択されません。
@(Html.Kendo().DropDownListFor(m => m.SemesterID)
.HtmlAttributes(new { data_value_primitive = "true", style = "width:320px" })
.OptionLabel("Select Semester Below...")
.Name("SemesterID")
.DataTextField("SemesterName")
.DataValueField("SemesterID")
.AutoBind(true)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetSemester", "StudentRSRegistration").Data("loadSemester");
})
.ServerFiltering(true); client.
})
.SelectedIndex(0)
)
これは、DDLの値を取得するための私の方法です
public List<StudentRSRegistartionModel> GetSemester(int? ProgrammeID1, int? SpecializationID1, int? SpecializationLevelID1, int? IntakeID1, int? IntakeYear )
{
if (!string.IsNullOrEmpty(ProgrammeID1.ToString()) && string.IsNullOrEmpty(SpecializationID1.ToString()))
{
obj = (from tbsr in context.tblSemesterRegistrations
join tbintake in context.tblIntakes on tbsr.IntakeID equals tbintake.intakeID
where
((tbsr.ProgrammeID == ProgrammeID1) &&
((tbsr.SpecializationID == null)) &&
(tbsr.IntakeID == IntakeID1 || !(tbsr.IntakeID.HasValue)) &&
(tbsr.IntakeYear == IntakeYear || !(tbsr.AcadamiYear.HasValue)))
select new StudentRSRegistartionModel
{
SemesterID = tbsr.SemesterID,
intakeYear = tbsr.IntakeYear,
AcadamicSemester = tbsr.AcadamicSemester,
Acadamicyear = tbsr.AcadamiYear,
IntakeCode = tbintake.IntakeCode,
SpecializationID = tbsr.SpecializationID,
}).OrderByDescending(o => o.SemesterID).ToList()
.Select(tb => new StudentRSRegistartionModel()
{
intakeYear = tb.intakeYear,
SemesterID = tb.SemesterID,
IntakeCode = tb.IntakeCode,
SemesterName = "Year " + tb.Acadamicyear + ": Semester " + tb.AcadamicSemester + ": Intake " + tb.IntakeCode,
}).OrderBy(o => o.SemesterName).ToList();
}
return obj;
}
}
catch (Exception ex)
{
throw ex;
}
}
この方法では、両方の時間で正しい値が得られます。この剣道 DDL が正しく選択されていない理由を知っている人はいますか....Thnaks....