1

我已经开始重构一些项目,并且由于代码重复,我遇到了一些似乎写错的代码,但是我不知道如何以最佳方式重构它。当然,我可以通过提取函数和清理一些代码,使用泛型来删除代码重复,但我想也许我可以做的不止这些。故事是:

我们有一个页面(视图),即根据用户选择呈现多个部分视图:我们有一些链接,例如:

  @Html.ActionLink("Create", "SetCreateNewMessageView")</br>
                    @Html.ActionLink("GetMessagesHistory", "SetGetMessagesHistoryView")</br>
                    @Html.ActionLink("UpdateMessageStatus", "SetUpdateMessageStatusView")</br>
                    @Html.ActionLink("AddUser", "SetAddUserView")</br>
                    @Html.ActionLink("RemoveUser", "SetRemoveUserView")</br>

每次单击都会以这种方式呈现部分视图 -> 控制器:

 var containModel = new CreatorsViewModel();
        containModel.CreateNewMessage = model;
        **containModel.view = 1;**
        return View("Index", containModel);

这是为每个链接制作的,然后在 Page's View 中,以下条件渲染是:

 @if (Model.view == 1)
                    { // Render Partial view

}

在我的情况下是否有一些最佳实践(根据用户选择呈现不同的部分视图)或者仅删除代码重复就足够了?

谢谢

4

1 回答 1

1

您发布的代码没有任何问题,条件渲染在 MVC 中很常见。我要做的唯一更改是将您的if语句转换为 a switch,只是为了整理一下(假设您有多个 Model 值的 , 等ifelse ifelse if

于 2013-03-06T10:47:51.793 回答