0


对不起,因为我的英语不好!但是我有这样的问题
1. 我创建了一个使用 MVC3 来管理菜单 Multil Level 和 Table Menu 的示例
- MenuWeb(MenuId,Name,Url,ParentId)
2. 控制器中的函数 CreateMenu:

[HttpGet]
        public ActionResult CreateMenu()
        {
            ViewBag.MenuId = new SelectList(db.MenuWebs.ToList(), "MenuId", "Name");
            return View();
        }
        [HttpPost]
        public ActionResult CreateMenu(MenuWeb menu)
        {
            if (ModelState.IsValid)
            {
                db.MenuWebs.InsertOnSubmit(menu);
                db.SubmitChanges();
                return RedirectToAction("../admin/getallmenu");
            }
            return View();
        }

3. 在 CreateMenu.cshtml 中形成 CreateMenu,如下所示:

@model MyBlog.Models.MenuWeb
@{
    ViewBag.Title = "CreateMenu";
}

    @using (Html.BeginForm())
    {
        <fieldset>
            <legend>Create menu</legend>

            <div class="div-lable">
                Menu Parent:
            </div>
            <div class="div-editor">
                @Html.DropDownList("MenuId")
            </div>
            <div class="div-lable">
                Name:
            </div>
            <div class="div-editor">
                @Html.EditorFor(model => model.Name)
            </div>
            <div class="div-lable">
                Url Redirect:
            </div>
            <div class="div-editor">
                @Html.EditorFor(model => model.UrlRedirect)
            </div>
            <div class="div-lable">
                Order:
            </div>
            <div class="div-editor">
                @Html.EditorFor(model => model.Ordes)
            </div>
            <div class="div-editor">
                <input type="submit" value="Create Menu" />
            </div>
            <div class="div-editor">
                @Html.ActionLink("Back to list", "getallmenu")
            </div>
        </fieldset>
    }

在这个例子中。我不知道将 MenuId 从 Dropdowlist 设置为 ParentId?我尝试提交,但 ParentId 始终为空。请帮我!非常感谢。

4

1 回答 1

0

好的改变你的代码是这样的:

控制器


替换这个

ViewBag.MenuId = new SelectList(db.MenuWebs.ToList(), "MenuId", "Name");

ViewBag.MenuIds = new SelectList(db.MenuWebs.ToList(), "MenuId", "Name");


看法


替换这个

@Html.DropDownList("MenuId")

@Html.DropDownListFor(model => model.ParentId, (SelectList)ViewBag.MenuIds)

这将解决您的问题。

于 2012-11-30T16:36:24.813 回答