C# 关于销售应用程序的MVC3体系结构

C# 关于销售应用程序的MVC3体系结构,c#,asp.net-mvc-3,architecture,C#,Asp.net Mvc 3,Architecture,我目前的任务是在MVC3上开发销售/CRM应用程序。 因为有很多机会都是围绕着一个给定的订单进行的,而这个订单可以被保存并在以后使用,所以我想知道一些问题 我需要用于客户报价和内部订单视图的选项卡。我如何处理该行为,以便客户打开给定订单时,他/她可以保持在同一订单内? 订单包含生成其他各种Excel文档的信息,如供应商发票和装运订单,我需要实现一种方法来填写这些表单。表格是Excel格式的,有没有办法从C应用程序中填写Excel,然后生成文件? 谢谢。第一个问题我不清楚,所以我只回答第二个问题

我目前的任务是在MVC3上开发销售/CRM应用程序。 因为有很多机会都是围绕着一个给定的订单进行的,而这个订单可以被保存并在以后使用,所以我想知道一些问题

我需要用于客户报价和内部订单视图的选项卡。我如何处理该行为,以便客户打开给定订单时,他/她可以保持在同一订单内? 订单包含生成其他各种Excel文档的信息,如供应商发票和装运订单,我需要实现一种方法来填写这些表单。表格是Excel格式的,有没有办法从C应用程序中填写Excel,然后生成文件?
谢谢。

第一个问题我不清楚,所以我只回答第二个问题

用于从模型生成excel,您可以使用。使用此dll,您可以从头开始生成word或excel,而无需在服务器上安装office,并且必须使用interop进行此操作


希望对你有所帮助第一个问题听起来像是坚持的问题。您可以使用会话跨页面持久化数据。例如,如果您有某种订单类,则可以在客户执行需要的操作时创建新订单:

\\ first use:
var order = new Order();
order.Details = "Blah blah blah";
Session["Order"] = order;
稍后,您可以使用相同的机制获得它:

\\ You should check if this exists first
var order = (Order) Session["Order"];
order.SomethingUseful();    
就我个人而言,我在会话中编写了一些包装,使其具有强类型,这样我就可以正确地进行单元测试。大致如下:

interface ISessionWrapper
{
    Order Order { get; set; }
}
然后我可以将其实现为:

    public Order Order { get; set; }
    {
        get { return (Session["Order"] ?? Session["Order"] = new Order()); }
        set { Session["Order"] = value; }
    }

在一些具体的课堂上。模拟和单元测试也变得很容易。

供将来参考:如果您有两个单独的问题,您应该问两个单独的问题。不要把它们都放在一个问题上。罗杰,我对用stackOAWESOME提问还不太熟悉,看来我需要做的是。无论哪种方式,Office都已经在服务器上,我需要从非常特定的电子表格模板生成文档,因为其中许多是来自客户或政府格式的自定义发票,所以您认为我可以使用此SDK实现此目的?是的。我只是在一个项目中使用它。如果word I打开文档,请替换一些书签并将新文档发送给客户端。对于excel,我打开excel更改/设置一些单元格值并重新计算一些公式。