【问题标题】:ASP.NET content/functionality versus design/layout/stylingASP.NET 内容/功能与设计/布局/样式
【发布时间】:2023-03-12 10:08:01
【问题描述】:

在使用 ASP.NET 开发 Web 应用程序时,您有没有提示如何将内容/功能的开发与设计分开,以便两者可以分别并行开发?

情况是:

  • 客户已就他们想要的功能达成一致
  • 客户正在改变他们对页面外观(样式和布局)的看法
  • 网页设计师不是专家:
    • 不是从头开始开发干净的基于 CSS 的布局
    • 正在从第三方网站获取各种基于表格的布局(使用 CSS),用作布局的示例/原型与客户讨论

鉴于此,如何在基于表格的布局最终确定之前开始编码功能?

我认为一种方法可能是:

  • 编码功能(包括在每个页面上创建活动元素)而不关心(指定)它们的布局和样式
  • 最后,在设计师和客户就设计达成一致后,将活动元素剪切并粘贴到设计师的原型页面中。

这是唯一的还是最好的方法?还有哪些其他方法?有任何提示、提示或技巧可以让这更容易吗?

【问题讨论】:

    标签: asp.net development-process


    【解决方案1】:

    这可能看起来有点激烈,但一种方法是让您的 Web 应用程序基于服务。这意味着您的所有业务逻辑都将封装在您的 Web 服务器将调用的一个或多个服务中。

    这样您就可以在网站本身上使用最少的服务器端代码,并且所有这些代码都将围绕数据的动态显示展开。这意味着您可以继续开发您的服务中所需的所有应用程序逻辑,并让您的设计团队为客户端破解 UI 内容,而无需费力。

    【讨论】:

    • 已经有一个带有 API 的 Web 服务,它将作为应用程序的后端。我只询问前端:“设计师”使用带有占位符文本的静态原型 HTML+CSS; “前端开发人员”使用 Visual Web Developer 创建活动元素和事件处理程序。
    【解决方案2】:

    这个问题没有简单的答案,但我会先让您的设计师更轻松一些 - 首先放置基本的 CSS 元素。例如,如果您知道配色方案,那么您已经有了背景。你可能已经知道你是要选择宽的还是窄的。所以,你已经有了样式表的开始:

    *
    {
       margin: 0;
       padding: 0;
    }
    
    body
    {
       background-color:#827575;
       color: #c6d3d5;
       font: 75%/1.5em Verdana, Helvetica, Geneva, "Helvetica Neue", sans-serif;
    } 
    
    `#container
    {
        margin-top: 30px;
        text-align: left;   
        margin-right: auto;
        margin-left: auto; 
    }
    
    `#content
    { 
        margin-right: auto;
        margin-left: auto;
        width: 850px;
        margin-top: 10px;
    }
    

    将容器 div 和内容 div 放置在母版页中 - 围绕主要内容占位符。现在,您有一些工作要做。你的人现在可以在内容页面中使用表格,并在需要时应用内联样式,现在。稍后,另一位具有更好知识的设计师可以将所有 CSS 移动到样式表中。只是一个实用的建议,让它继续前进:-)

    【讨论】:

      【解决方案3】:

      在开始进行任何编码之前,最好有一个视觉“骨架”布局。原因是,如果你有一个布局原型,那么你就可以迭代地让你的客户给你关于布局的反馈。如果我是你,我会完全放弃基于表格的布局。原因是,在 Webforms 中,如果您不使用母版页,那么您将不得不单独编辑每个页面(或围绕相同的复制布局制作大量控件)。有几种方法可以做到这一点:

      如果您知道您将使用 CSS(提示、提示),那么我会查看可用的各种选项:Ironmyers CSS Layouts、Layout Gala (40 CSS stylesheets) 和我最喜欢的 Open Source Web Design CSS Layouts,然后选择一个'会认为将'最接近'您将要使用的布局。它不需要是完美的,它只需要是一个骨架。

      由于网站通常有两列或三列顶部有一个水平菜单(Stack Overflow 就是一个很好的例子),您可能需要寻找这种类型的骨架。然后,您所要做的就是在您想要调整布局时编辑样式表。

      您无需成为专家即可执行此操作;但它会让您快速了解网站的外观以及各个部分如何组合在一起。

      使用基于 CSS 的布局进行原型设计有多种优势:

      • 如果您更改布局,您可以查找/替换 CSS 类 ID 以更改它(或使用您最喜欢的脚本语言为您完成)
      • 您可以在开发后端的同时很少时间花在布局上
      • 已有的布局允许您编辑 CSS,然后点击刷新立即查看更改;完全无需对 HTML 进行涂鸦。

      您当前的方法与干净的分离相冲突,鉴于您的问题,您知道情况就是这样:使用现成的 CSS 模板,您可以在几分钟内完成原型的设计并解决这个问题,而不是花时间尝试使用表格完成布局。

      【讨论】:

      • 写这篇文章的时候,我的标点符号太糟糕了。我累了;我今天会试着把它清理干净。
      【解决方案4】:

      我主要按照你在这里定义的方式工作:

      对功能进行编码(包括 在每个上创建活动元素 页)而不关心 (指定)它们的布局和样式

      然后,最后,在设计师和客户达成一致后 在设计上,然后剪切并粘贴 活动元素融入设计师的 原型页面。

      首先,我开发应用程序、实体、数据层和可重用实用程序类的主干。同时,设计师创建了一个设计,我们将它们展示给客户。

      在我开发应用程序的功能时,设计已经准备就绪。我只是在页面上添加链接文本框按钮。只为设计添加休息点和空格。

      当我们准备好进行第一个演示时,我会应用该设计。这个化妆操作是工作中最无聊的部分。特别是如果客户想要智能电网。但它只发生一两次。

      编辑(开始):

      首先,我将重复出现的部分拆分为自定义控件。我将母版页添加为容器。我将自定义控件添加到母版页中。那么环境就准备好了。

      然后我开始将母版页引用添加到我的活动页面中,并在必要时将 css 引用或其他 html 元素添加到活动页面中。我的意思是我不会重写我的活动页面。大多数工作由母版页和自定义控件完成。我只向我的活动页面添加了一个表格和一些 css 引用。

      编辑(结束)

      我使用 CSS、ASP.NET Themes、Masterpages 和 Custom Controls 来简化设计并最小化设计相关文件。

      【讨论】:

      • 您如何“应用设计”...您是否从活动页面中剪切活动元素并将它们粘贴到静态原型页面中,然后删除您现在为空的页面并添加原型页面(现在包含活动元素而不仅仅是静态元素)到您的项目?
      • 谢谢。您编辑的帖子表明您没有很多基于表格的布局,即为了“应用设计”,您不需要通过将元素粘贴到各种表格的各个单元格中来做到这一点。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 2016-08-09
      • 2012-07-05
      • 2021-09-01
      • 1970-01-01
      • 2016-08-21
      相关资源
      最近更新 更多