🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

Q&A

1回答

2352閲覧

ASP.NET Coreでユーザーコントロール的なことを実現したい

usagisan

総合スコア6

.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

ASP.NET MVC Framework

ASP.NET MVC Frameworkは、MVCパターンをベースとした、マイクロソフトのウェブアプリケーション開発用のフレームワークです。

0グッド

1クリップ

投稿2019/09/18 04:53

編集2019/09/18 06:30

前提・実現したいこと

ASP.NET Core MVC 2.2でWebアプリの開発を行っています。
Windowsアプリではよくユーザーコントロールやカスタムコントロールで実現していたと思うのですが、
複数の画面で使いまわす共通のコントロールを今回の開発でも作成したいと思っています。

作成したいコントロールは例えばDBから取得してきた情報のドロップダウンだったり、
複数のドロップダウンがセットになっていてAのドロップダウンの選択結果によってBのドロップダウンの内容が決定するようなコントロールを作りたいと思っています。

質問させていただきたいのは、そもそも上記のような考え方のコントロールが.NET Coreで作れるのかどうか、
もし作れるのならどういう技術で実現すればよいのかということです。
Webアプリでユーザーコントロールとか一般的なのかというのがあり、
調べた限りでは部分ビューやビューコンポーネントといった情報が出てきましたが、今回やりたいことに適うのかどうか判断がつきません。

どうすることもできなかったり、上記のような考え方が一般的でないのであればおとなしくビジネスロジックだけ共通化するような仕組みにしようと考えておりますが、ご教示いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Webアプリでユーザーコントロールとか一般的なのか

ASP.NET Web Forms アプリではユーザーコントロールは一般的です。.ascx というファイルを使います。

ASP.NET MVC では同等の機能は部分ビューで実現することになります。(Razor 表記が使える以前は Web Forms と同じ .ascx ファイルを使ってました)

ただ、部分ビューという名前の通り、MVC の View の一種ですので、それにビジネスロジックを実装するのは、たとえできてもやらないということになるかと思います。

投稿2019/09/18 06:33

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

usagisan

2019/09/18 06:45

ご回答ありがとうございます。 なるほど部分ビューがユーザーコントロールに相当するような概念なのですね。 部分ビューの中のコントロールでビジネスロジックを組み込みたい場合は、画面として作成するViewのようにControllerやModelを用意して実現するという認識で合っていますでしょうか?
退会済みユーザー

退会済みユーザー

2019/09/18 07:05 編集

> 画面として作成するViewのようにControllerやModelを用意して実現する 自分の理解ではそうです。ただ、自分が知らないだけで、ASP.NET Web Forms のユーザーコントロールのようにビジネスロジックを含め全部実装するというやり方もあるかもしれないということは否定しきれませんが。 質問にビューコンポーネントと書いてあるのを見落としてました。これは部分ビューとは話が違っていて、DB から情報を取得してコンテンツを返すというような目的で使えるそうです・・・が、これについては自分は知識がなく詳しい説明はできないです。すみません。
usagisan

2019/09/18 11:43

ありがとうございます。 MVCで製造しているので、無理にロジックをまとめるのではなく、役割分担するのは必要かなとは思っています。 共通部品はDBアクセスして情報取得なども必要なため、今回はビューコンポーネントの方がやりたいことに近いかなと思いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問