0

こんにちは私は私を夢中にさせる問題を抱えています。プロジェクトの 1 つのページにドロップダウン リストがあり、他のすべてのページの他のすべてのドロップダウンと同じように動作するはずですが、そうではなく、なぜだろうと思っています。

cshtml ページにコードが表示されます。これは通常のドロップダウンです。

<p>
    Specify a organisation to search in
    @Html.DropDownList("OrganisationList", new SelectList(ViewBag.OrganisationList, "ID", "Name", ViewBag.SelectedOrganisation))
</p>

コントローラーには、ドロップダウンリストをバインドするメソッドと、ビューを呼び出すメソッドがあります。

private void BindAllOrganisations()
{
    List<OrganisationModel> OrganisationList = new List<OrganisationModel> { new OrganisationModel { ID = null, Name = "Select" } };

    foreach (var Organisation in DatabaseConnection.DataContextRead.GetTable<Organisation>())
    {
        OrganisationList.Add(new OrganisationModel { ID = Organisation.OrganisationId, Name = Organisation.Name });
    }

    ViewBag.OrganisationList = OrganisationList;
}

/**
 * Loads the ManageUserView with all users from a specific organisation unit
 **/
[AzaraAuthorization(RequiredRoles = new[] { RolesEnum.Admin })]
public ActionResult ManageUsersFromOrgUnit(int Id)
{
    try
    {
        var orgUnit = organisationUnitManagement.GetSingleUnit(Id);
        List<AzaraUser> AzaraUserList = azaraUserManagement.GetAllUserFromOrganisationUnit(orgUnit);
        ViewBag.FromOrgUnits = Id;
        BindAllOrganisations();
        ViewBag.SelectedOrganisation = orgUnit.Organisation.OrganisationId;
        return View("ManageUsers", AzaraUserList);
    }
    catch (BusinessObjectNotRetrievableByIdException exc)
    {
        ExceptionHandling.BusinessObjectNotRetrievableByIdExceptionOccured(exc, "ManageUsersFromOrgUnit(int Id)", "ManageUsersController");
        return RedirectToAction("Index", "Home", new { Info = "A program error occured. The administrator get informed. Apologize the inconvenience." });
    }
}

問題が見つかりません。ViewBag.SelectedOrganisationまた、ページを置き換えると (背後のデータベースに1値を持つモデルがあることがわかっています)、値が で選択されます。リストの使用モデルは次のとおりです。1null

public class OrganisationModel
{
    public int? ID { get; set; }
    public string Name { get; set; }
}

バグがある可能性がありますか、それとも私が見逃したものですか?

4

0 に答える 0