2

当社には、50以上のフォームを備えたWebベースのビジネスラインソリューションを構築する必要があります。これの多くは、中央データベースのCRUDになります。これまでウェブスペースに取り組んだことがないので、これはすべて私たちにとって比較的新しいことです。

現在、ASP.netMVCを次の目的で使用することを計画しています。

  • 妥当性(単体テストなど)
  • 関心事の分離
  • より良い長期メンテナンス(他の投稿から収集できるものからWebFormsで問題になる可能性があります。)

しかし、私たちはハードルにぶつかりました。さまざまなフォーラムやチュートリアルビデオについて多くの調査を行った結果、ASP.netMVCはドラッグアンドドロップ設計環境をサポートしていないことがわかりました。

ASP.net MVCでコードテンプレートなどを使用して調査しましたが、これらはコードでのビューの構築を確実にスピードアップします。実際、ほとんどのフォーラムでは、コードテンプレートなどの使用が提案されています。

しかし、私たちの会社は一般的に、アプリケーションのビルドと変更により非常に速い回転率を持っています。場合によっては、翌日または翌週の更新をプッシュする必要があります。

ビューのデザインツールがないと、多少の妨げになると思います。

これまでに、次のことを検討/調査してきました。

  • VisualStudioをコードでビルドします。2番目の画面でIDEの横にあるWebサイトを更新します。すすぎを微調整して繰り返します。

  • MicrosoftExpression製品を使用してください。(Expression Webなど)。ビューなどをビルドしてから、Visual Studioにリロードして、コードビハインドで作業します。ただし、ASP.netMVCではなくこれでWebFormsをテストしたと思います。

  • Dreamweaver(またはその他)などのWebデザインツールを使用して、表示/ページ用のhtmlをVisual Studioにコピーし、コードビハインドなどを接続します。

  • 代わりにLightSwitchを使用してください(Silverlightの要件は必要ありませんでしたが、これは要件を単純化するための簡単な方法のように思われたため、これは問題外でした)

他の人も同じような経験をしていて、彼らの考えを共有できるのではないかと思いました。

だから私の質問は、あなたの誰かが同じような状況にあった場合、新しいUIをすばやく簡単に構築したり、微調整したりする機能を維持しながら、ASP.netMVCビューを設計するためにどのツールを使用しましたか?

4

2 に答える 2

2

私の意見では、いくつかのヒントに従うと、ドラッグアンドドロップ環境よりもコードでUIを構築する方が高速です。

レイアウトにテーブルを使用する

私はセマンティック狂信者がこれを言ったことで私を殺そうとすることを知っていますが、あなたのフォームは見栄えが良く、いくつかのブラウザでCSSと戦う必要はありません。大幅な時間の節約。

あなたの意見をできるだけ裸にしてください

そして裸の場合、私はあなたの入力を次のように見せることを意味します:

<tr>
    <th>@Html.LabelFor(model => model.Name)</th>
    <td>@Html.EditorFor(model => model.Name)
        @Html.ValidationMessageFor(model => model.Name)
    </td>
</tr>

MVC EditorFor、エディターテンプレート、UIHintを利用して、アプリの標準的な入力タイプを作成します。私のアプリには、テキスト、10進数、整数、日付、時刻、月、メモ(textarea)のテンプレートがあります。テンプレートを微調整して、カスタム表示用にさらにいくつかのプロパティを許可しました。

静的SelectListビルダーを使用する

これはMVCルールに何らかの形で違反しますが、時間の大幅な節約にもなり、コントローラーでSelectListを数回処理する必要がなくなります。

私は通常この種のコードを持っています

public class ProductType
    public static SelectList GetSelectList(int? ValorActualSeleccionado, string IncludeAllItemsText = "") {
        var lista = DbHelper.CurrentDb().Fetch<ProductType>(BaseQuery());
        if (!IncludeAllItemsText.IsEmpty()) {
            lista.Insert(0, new ProductType { Name = IncludeAllItemsText, ProductTypeID = 0 });
        }
        return new SelectList(lista, "ProductTypeID", "Name", ValorActualSeleccionado);
    }

とビューで:

@Html.DropDownList("ProductTypeID", ProductType.GetSelectList(Model.ProductTypeID))

追加と編集に同じビューを使用します

ほぼ同じデータを収集するために表示する必要はありません。これをコントローラーに追加するだけです。

    public ViewResult NewProduct() {
        var VM = new Product();
        return View("Edit", VM );
    }

これを編集ビューに追加します。

@using (Html.BeginForm("Edit", "Product")) {

また、同じ場所に追加または編集するロジックを追加します。

jQueryを使用する

jQueryを使用すると、ビューのコードを変更することなく、システム全体にいくつかのアドイン(数値や日付のドロップダウンなど)をプラグインできます。

于 2012-07-23T14:14:07.837 に答える
0

ドラッグアンドドロップの経験が必要で、Web開発の経験がない場合は、rad-controllsと古い学校のASP.NETを使用します。

ASP.NET MVCは、HTML、Javascript、およびHTTPに近づいた場合に役立ちます。Webについて多くのことを知らなくても、古い学校のASP.NETとrad-controllsを使用してかなり遠くまで行くことができます。

于 2012-07-23T14:22:48.150 に答える