質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
C#

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

Q&A

解決済

2回答

850閲覧

定数定義のやり方について

kentasuzuki_

総合スコア28

C#

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

ASP.NET

ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

0グッド

0クリップ

投稿2021/12/09 08:30

編集2021/12/09 09:57

シンプルな質問なのですが、クエリストリングで取得可能な値を定数で定義することは可能なのでしょうか?

以下はサンプルコードになります。
何卒宜しくお願い致します。

textbox1.text = "社員番号" + Request.QueryString["shainNo"] + "は無効な社員です";

追加情報

例えばですが、
test.aspx.csのwebページが開かれている時のurlのパラメーターにshainNo=123456という文字列が含まれていたとして、
Request.QueryString["shainNo"]を実行すると、"123456"の文字列が取得できるかと思いますが、
これをwebページではないmessageconst.cs(定数クラス)でRequest.QueryString["shainNo"]を実行しても、"123456"の文字列を取得することができない(=定数クラスの定数に入れることはできない)という意味で質問をさせていただきました。

補足情報(FW/ツールのバージョンなど)

Web Formsを利用し、開発をしています。

【開発環境】
開発環境 VisualStudio2019
言語   C#

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

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

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

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

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

y_waiwai

2021/12/09 08:32

なにをしたいんでしょうか あまりに説明不足で意味わかりません
kentasuzuki_

2021/12/09 08:35

説明不足で申し訳ございません。 以下のコードを定数クラスで定数定義できるようにしたいのですが、 どうやれば良いのか分かりません。 "社員番号" + Request.QueryString["shainNo"] + "は無効な社員です";
kentasuzuki_

2021/12/09 08:38

クエリストリングで取得した値は、基本的にaspx.csページでしか取得できないものだと認識しているのですが、 自作している定数クラスは、aspx.csではないので、クエリストリングが使えない状態だと思っています。 ただ、それでも定数クラスにクエリストリングが使えるようにする方法があれば教えていただきたいと思い、質問をさせていただきました。
y_waiwai

2021/12/09 08:39

なんのためにそれをしたいんでしょうか
kentasuzuki_

2021/12/09 08:44

技術的にそれができるなら定数化したいというだけです。
dodox86

2021/12/09 08:49

ASP.NETであったとしても、クエリストリングを定数扱いにする、というのはできないと思うのですが。用語の使い方を間違っているのか、質問の意味が良く分からないのか、いまだに判断できませんが。
退会済みユーザー

退会済みユーザー

2021/12/09 08:54

全く意味不明です。読んでください→ https://teratail.com/help/question-tips 特にこのあたり: "人に質問をするには、自分が何を尋ねたいかを知っている必要があります。これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。一見簡単なようですが、実はとても難しいことです。何がわからないかわからない人から質問を受けても、答える側も困ってしまいます" ここに書いてあること以外は何も知り得ない第三者が読んで意味が分かるように質問を書き直してもらえたら何かレスできるかもしれません。
kentasuzuki_

2021/12/09 08:55

やはりクエリストリングを定数扱いにするというのはできないですよね。 用語の使い方は理解しているつもりですが、技術的にできなさそうなのが分かりました。 ご回答いただきありがとうございました。
kentasuzuki_

2021/12/09 09:00

第三者に伝わりにくいような質問をしてしまい、申し訳ございません。 仕事の関係で、自分が分からないことを質問させていただきましたが、ダラダラと文章化せずに技術的にどうすればできるのかという部分だけを質問しまったのがいけなかったようです。 以後、気を付けたいと思います。
退会済みユーザー

退会済みユーザー

2021/12/09 09:02

> やはりクエリストリングを定数扱いにするというのはできないですよね。 「クエリストリングを定数扱い」って何を言ってるのか分からないと言ってます。私に分かるように説明することはできますか?
kentasuzuki_

2021/12/09 09:15

例えばですが、 test.aspx.csのwebページが開かれている時のurlのパラメーターにshainNo=123456という文字列が含まれていたとして、 Request.QueryString["shainNo"]を実行すると、"123456"の文字列が取得できるかと思いますが、 これをwebページではないmessageconst.cs(定数クラス)でRequest.QueryString["shainNo"]を実行しても、"123456"の文字列を取得することができない(=定数クラスの定数に入れることはできない)という意味で質問をさせていただきました。
退会済みユーザー

退会済みユーザー

2021/12/09 09:29

上記を質問欄を編集して追加情報として追記願います。
YAmaGNZ

2021/12/09 10:44

「定数」って言ってるから意味不明なんじゃないですかね? 「定数」って何か分かっていないのではないでしょうか?
退会済みユーザー

退会済みユーザー

2021/12/10 00:57

私の回答で解決になったのなら、質問者さんの回答の「解決した方法」マークは消して、私の回答の方にベストアンサーを付けるようにしてください。
guest

回答2

0

ベストアンサー

test.aspx.csのwebページが開かれている時のurlのパラメーターにshainNo=123456という文字列が含まれていたとして、

Request.QueryString["shainNo"]を実行すると、"123456"の文字列が取得できるかと思いますが、これをwebページではないmessageconst.cs(定数クラス)でRequest.QueryString["shainNo"]を実行しても、"123456"の文字列を取得することができない(=定数クラスの定数に入れることはできない)という意味で質問をさせていただきました。

その定数クラスの実装が不明ですが、.NET Framework ベースの ASP.NET Web アプリなら、そのアプリのクラスファイル内で HttpContex.Current で HttpContext オブジェクトが取得できるのでそれから取れると思います。

イメージ説明

この前後の話があって、質問者さんの真にやりたいことがこれだけでできるのかどうかは分かりませんが。

投稿2021/12/09 09:47

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

kentasuzuki_

2021/12/09 10:03

HttpContext.Currentが使えることが知らなかったので大変助かりました。 ご提案いただいた形で定数クラスに実装してみたいと思います。 ご丁寧にありがとうございました。
guest

0

クエリストリングを定数扱いにするというのはできなさそうですので、質問をクローズということにします。

投稿2021/12/09 09:02

kentasuzuki_

総合スコア28

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

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

退会済みユーザー

退会済みユーザー

2021/12/09 09:07

「クエリストリングを定数扱い」とか意味不明なので、私に分かるように説明してくださいとお願いしたのですが、無視ですか?
kentasuzuki_

2021/12/09 09:11

すみません、回答している際に質問されましたので、これからお返事を返そうと思っていました。 少々お待ちください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問