代码之家  ›  专栏  ›  技术社区  ›  AaronSieb

在MVC应用程序中放置默认内容的最佳位置是什么?

  •  0
  • AaronSieb  · 技术社区  · 17 年前

    现在,我有三个视图可以显示文章:索引、编辑和重命名。所有三个视图都显示当前页面的内容,或表示该页面不存在的占位符内容。

    目前,通过每个视图的操作方法中的以下代码可以实现这一点:

    MyPage myPage = null;
    
    if (!string.IsNullOrEmpty(pageName)) {
        myPage = mRepository.GetMyPage(pageName);
    }
    
    //Page does not exist.
    if (myPage != null) {
        ViewData["pageContent"] = myPage.GetParsedSource(new PageState());
        ViewData["pageSource"] = myPage.Source;
        ViewData["title"] = myPage.Title;
    }
    else {
        ViewData["title"] = pageName;
        ViewData["pageContent"] = "Page does not exist, feel free to create it!";
        ViewData["pageSource"] = "";
    }
    
    ViewData["pageName"] = pageName;
    


    2) 模型,将pageSource的默认值设置为上面所示的措辞?这样做的缺点是将显示文本移动到模型中。
    3) 视图,使用null合并运算符将null ViewData条目转换为其默认值?


    希望这能澄清一些事情。申请流程如下: 当用户输入URL(即/pages/page_title)时,他们会进入一个屏幕,显示文章的内容以及标有“edit”和“rename”的超链接

    2 回复  |  直到 17 年前
        1
  •  1
  •   Rex M    17 年前

    我有几个行动:

    • 查找
    • 陈列
    • 编辑

    在默认的Lookup controller操作中(当用户请求时,例如,“/wiki/article title”)可以重定向( RedirectToAction()

        2
  •  1
  •   Charlino    17 年前

    我会将它保存在控制器中,但将其提取出来,这样就不必在每个操作中复制代码。

    推荐文章