【问题标题】:Is there any graphical designer for ASP.NET MVC?是否有 ASP.NET MVC 的图形设计器?
【发布时间】:2023-03-20 14:40:02
【问题描述】:

我想大多数使用 Visual Studio 的人在创建他们的第一个 ASP.NET MVC 项目时都会有我同样的反应:设计视图在哪里结束?

在 Visual Studio 中使用经典 Web 窗体开发应用程序时,设计视图非常方便,它可以帮助您通过简单的拖放项目在网页中创建用户控件和其他组件从工具箱到设计页面。虽然它不允许定位和高级样式,但 Dreamweaver 却可以,但如果您想避免痛苦的 HTML 格式和 CSS 样式(或者您不熟悉 HTML),它是一个非常有用的功能。

有没有办法使用图形设计器创建视图布局,然后将设计与视图的“逻辑”部分集成(使用模型从/向控制器填充/提交数据的部分) ?

【问题讨论】:

  • Asp.Net MVC 框架是为了摆脱不必要的复杂和不灵活的 Web 表单抽象和拖放式开发而共同努力的结果。你会发现大多数使用 MVC 的开发者都非常乐意摆脱设计师。
  • 我认为微软正在改变他们在这方面的立场,请参阅下面channel9.msdn.com/posts/… 的回答。不是拖放,而是将客户端视图加入开发者视图
  • 不知道为什么人们不喜欢设计视图/拆分代码设计视图。当然比切换到网络浏览器要好。旁边的某种实时预览会很棒,尤其是对于嵌套视图。对于那些不喜欢实时预览功能的人 - 不要使用它!就我个人而言,在编写 HTML 代码时,我更喜欢并排呈现的 HTML/CSS。

标签: asp.net-mvc visual-studio-2010 design-view


【解决方案1】:

我想大多数使用 Visual Studio 的人在创建他们的第一个 ASP.NET MVC 项目时都会有我同样的反应:设计视图在哪里结束?

一点也不。就我个人而言,我从未在经典的 Web 表单中使用过设计视图,当我迁移到 MVC 时,它并没有真正产生任何影响。不仅如此,再使用它也没有任何意义。我很高兴没有设计师再弄乱我的代码了。 Intellisense 让我头疼不已,如果你使用的设计器触及幕后代码,事情就会变得一团糟。我所需要的只是使用 Intellisense 来完成标签并理想地理解 HTML5。

就设计网页而言,您可以看看Expression tools

【讨论】:

  • 感谢您的回答。实际上,当设计师也弄乱我的源代码时,我也不喜欢它。然而,有机会创建页面布局非常方便,例如将 div 标签定位为绝对或相对,然后相应地放置 html 标签。
  • 我一点也不喜欢 MVC 没有设计师。我相信他们需要设计一个更好的设计师,而不是抛弃设计师。没有像@CiccioMiami 指出的那样“弄乱源代码”。不过我很快就习惯了 MVC 风格。尽管如此,我还是发现自己经常在浏览器中查看它的外观。更耗时还是更少?我不知道。我相信您听到编码人员说他们从未使用过设计器的原因是 1) Macho(我只在记事本中编码!) 2) 特别是对于大型项目,它有时确实会改变或无法正确显示。
  • 表达工具链接失效
【解决方案2】:

是的,我有同样的反应,来自网络表单背景。我需要图形设计师的不断反馈,让我知道我的代码有什么效果。学习 MVC 本身就是一个足够大的学习曲线,而无需蒙住眼睛。

现在已经 4 年了,我不介意说 Page Inspector 内置于 VS 2013。如果您在 2015 年仍在使用 VS 2010,我只能说,如果您升级,您将永远回头看看。

只需右键单击代码并选择在页面检查器中查看。检查器中有一个 Inspect 按钮,您可以使用它来查看设计元素在代码中的位置。它可以为您节省花时间。

编辑

看起来他们从 Visual Studio 2015 中删除了它,甚至懒得发布解释原因。嗯...如果我找到第 3 方解决方案,我会更新这个。

【讨论】:

  • +1。如果在 chrome 中查看然后停止调试后使用 razor v3,您可以按 ctrl + alt + enter,如果保持打开状态,它将刷新您的浏览器视图。
  • Visual Studio 得名于早期的 .Net 前版本,这些版本专门用于帮助以可视方式创建应用程序。 Visual Basic 通过鼓励自上而下的拖放视觉方法在当时与其他 Basics 区别开来,这是非常非常成功的!现在,现代 Web 开发不再可能实现这一点,我认为他们从 IDE 名称中删除“Visual”是公平的
  • Visual Studio 不仅仅是 MVC。它仍然支持表单以及控制台程序。
【解决方案3】:

我认为他们正在努力将其作为 Expression Blend 5 Developer Preview 的一项功能。

他们清楚地认识到在设计器中设计 JS 的问题,所以我怀疑他们意识到这同样适用于一些从事 MVC 应用程序的设计师。

微软的某个人告诉我“我认为在 Blend for HTML 中,使用交互模式,你可能会很好地设计 MVC 或 MVVM 模式”

还可以查看Visual Studio Page Inspector,它看起来可以满足需要

现在在 VS2013 或更高版本中使用带有 BrowserLink 的 WebEssentials

【讨论】:

    【解决方案4】:

    如果您正在寻找设计师来获得 HTML/cshtml 更改的即时反馈,这可以通过 Visual Studio 中的 BrowserLink 功能来实现。启动浏览器并点击您当前正在设计的页面/视图,当您对标记/cshtml 进行任何更改时,点击 Visual Studio 中的刷新按钮,对代码所做的更新将立即推送到浏览器。

    其他替代方法是使用 Chrome 开发者工具 (F12) 并使用“编辑为 Html”功能。

    我知道这些替代方案不如 Visual Studio 中的原生设计器视图支持丰富,但这些是一些实用的解决方法。

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 2011-05-31
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多