在 MVC 中生成组织图并在视图中显示

Posted

技术标签:

【中文标题】在 MVC 中生成组织图并在视图中显示【英文标题】:Generating an Organogram in MVC and Displaying in View 【发布时间】:2013-07-22 08:55:11 【问题描述】:

我想这个问题不会有任何意义,但这是我必须告诉我的 PM 我根本做不到之前的最后一次尝试。

我的同事(在离开项目之前很有用)对我们的 PM 所要求的一切都是一个肯定的人,不管它是什么,我似乎自愿创建一些功能来生成一个 Organogram / Organisational Chart 并呈现它在视图中。

我已经四处挖掘并询问过,似乎没有人真正知道我将如何去做。任何人都可以就任何事情提供任何可以提供帮助的建议吗?即使它是最基本的教程或晦涩难懂的 API,也会很有帮助。

为了说明这一点,我的问题是:是否可以在 ASP.NET MVC C# 应用程序中生成图表,并将其显示在视图上?(即使是是或否会有所帮助)

【问题讨论】:

【参考方案1】:

是的,一切皆有可能。这只是你可以花多少时间在上面的问题。不过,并不是所有的东西都有很好的投资回报,但这要由你的 PM 来决定。只要您的团队能够估计复杂性。

但是对于 ASP.NET,Microsoft 有一个Charting library 允许您构建图表。还有更多功能更丰富的commercial libraries(第一个谷歌点击)。

如果它们不起作用,您始终可以使用 .NET 的 System.Drawing 命名空间手动构建图像(这当然比使用可用库之一绘制图表要花费更多时间)。生成的图像可以通过 ashx 处理程序发送,也可以嵌入 image in the same page using base64 encoding。

对你的 PM 说“是”还不错,但我宁愿说:“是的,我们将把这个特性放在特性列表/待办事项日志上,并估计复杂性。一旦我们知道你可以选择的复杂性为未来的迭代选择它。”但也许我现在说得太敏捷了;-)

【讨论】:

【参考方案2】:

您可以将图表绘制交给外部库,例如Google Visualization: Organizational Chart

查看此问题以了解其他建议的库: What's the best library to draw organization chart using javascript?

【讨论】:

【参考方案3】:

这听起来像是在商业场景中,因此非常值得研究商业可用的解决方案。 Steven 已经提到过一种,但据我所知,一种用于 Windows 窗体,另一种用于条形图中的图表,不提供组织图功能。

具有显示组织结构图功能的 Javascript 图表库是 yFiles for html。它有一个nice online example of an organization chart,这可能正是您正在寻找的:

还有一个Video 展示了实际演示。

该库是一个纯 Javascript 实现,完全不依赖于服务器库或服务器。不过,只要您了解 Javascript,将它集成到 ASP.net 环境中应该很容易。作为一个库,它提供了完整的定制功能。您可以确定图表所有方面的外观和感觉。该库实际上是一个通用的图形绘制和编辑工具,而组织结构图只是一个可能的用例。

完全披露:我为创建图书馆的公司工作,但我不代表我的雇主。我的想法、想法等都是我自己的。

【讨论】:

以上是关于在 MVC 中生成组织图并在视图中显示的主要内容,如果未能解决你的问题,请参考以下文章

MVC中生成图形验证码并显示(极简)

在 MVC 中生成没有控制器的视图?

下载图像缩略图并在 ListView C# 中显示它们

MVC中生成图形验证码并验证(详细)

MVC中生成图形验证码并验证(详细)

MVC中生成图形验证码并验证(详细)