2

私の過去の経験

私は、C#Winフォームに約04年、WPFやその他のいくつかの言語に少し慣れた経験がありますが、ASP.Net(または任意のWebアプリケーション)は初めてです。

問題の説明

管理者がテンプレートを定義できる社内のドキュメント管理サイトを作成したい(ビジュアルスタジオのようにプロジェクトテンプレートを取得して、テキストやスプレッドシート、またはMSWordやExcelなどの他の種類のドキュメントを作成できるようにする)および複数のフィールドを追加して保存できます。次に、ユーザーは保存されたテンプレートにアクセスし、(同じテンプレートで異なるデータを使用して)独自のファイルを作成して保存できます。バージョンの変更も保存する必要があります。

どうすればアプローチできますか?

  1. ASP.Net(WPFなど)で豊富なドキュメントサポートを実現することは非常に困難ですか?
  2. すべてがそれを購入するわけではありませんが、それは車輪の再発明ですか(グーグルドキュメントがあるか、人々がMS Officeを購入してドキュメントを作成し、サーバーに保存できるため)?
  3. テンプレートをXmlまたはHTMLとしてDBに保存する必要がありますか?

任意の開始点または参照をいただければ幸いです。

4

1 に答える 1

0

実際、それはそれほど難しいことではありません。UI全体が、ユーザーがテンプレートを作成、保存、編集、入力できるようにすることを中心に展開するプロジェクトを完成させました。実際に情報をバイト配列に保存してから、データベースに保存することができます。これが私が使用した新しいテンプレートメソッドの例です。それは難しいことではありませんが、ここに含めることができるはるかに多くの情報です。フォームの作成は最も難しい部分です。これのフォーム作成は3100行のコードです。

private void doNew()
    {
        try
        {
            this.m_bDialogOpen = true;
            //New instance of data object
            MergeLetterDocsDO clnt = new MergeLetterDocsDO(7);
            //Creates a new title or name for the template
            NewMergeLetterTitle title = new NewMergeLetterTitle("New Merge Letter", 7);
            DialogResult dr = title.ShowDialog();

            if (dr == DialogResult.OK)
            {

                Form1 frm = new Form1(Simple.Form1.DocumentTypes.MERGE_LETTER,  Simple.Form1.OperationModes.DESIGN_TIME, null);
                frm.ShowDialog(this);

                byte[] bb = frm.InternalFormatDocument;
                byte[] rtfbb = frm.RtfFormatDocument;
                clnt.SaveNewMergeTemplate(bb, rtfbb, bb.Length, rtfbb.Length, title.MergeLetterTitle);
            }

            this.m_bDialogOpen = false;

            this.Populate();
        }
        catch (Exception ex)
        {
            Trace.WriteLine(ex.Message);
        }
    }O
于 2012-07-20T18:36:21.583 に答える