say のような変数がありますA= drug & medicare $12/$15
。
テキストボックスに割り当てる必要がありますが、サーバーに投稿されるのは「薬物」だけです。残りのデータは切り捨てられます。
this.textbox.text= request.querystring["A"].tostring();
say のような変数がありますA= drug & medicare $12/$15
。
テキストボックスに割り当てる必要がありますが、サーバーに投稿されるのは「薬物」だけです。残りのデータは切り捨てられます。
this.textbox.text= request.querystring["A"].tostring();
HTMLエンティティに問題があると思います。選択したツールでの HTML エスケープについて読む必要があります。&
はエンティティ シーケンスを開始するため、HTML では使用できません。 に置き換える必要があります&
。少なくとも使用しているツールチェーンを指定しないと (@Richard のコメントに従って)、それを行うための最良の方法を実際に提案することはできません。
編集:あなたの質問を読み直したので、Aは変数ではなくクエリパラメータのようです:)読解力は失敗します。いずれにせよ、この場合も同様の問題が存在します: & はクエリ パラメータとして有効な文字ではなく、URL エスケープが必要です。繰り返しますが、正確に行う方法はツールチェーンのドキュメントにありますが、本質的に & を に置き換える必要があります%26
。プラス記号も使用できません (別の意味があります)。他のものは許容されます (しかし、それらを書くもっと良い方法があります)。
以下は a="foo&bar$12" には無効です:
http://example.com?a=foo&bar$12
& 記号は予約文字であり、クエリ文字列変数を区切ります。そのページに値を送信する前に、値をパーセント エンコードする必要があります。
また、& は HTML/XML の予約文字です。パーセントエンコーディングとhtmlエンコーディングについて読むことをお勧めします。
これは多かれ少なかれ ASP.NET 疑似コードのように見えるので、URL エンコードが必要なクエリ文字列として問題を診断します。クエリ文字列のキーと値のペアはアンパサンド (&) で区切られ、ASP.NET (他の Web プラットフォームと同様) がキーと値のペアを自動的に解析します。
この場合、アンパサンドは「A=...」キーと値のペアの値を終了します。ユーザーをページに誘導するリンクを URL エンコードできれば、問題は解決します。実際に ASP.NET を使用している場合は、そのためにHttpUtility.UrlEncode() メソッドを使用できます。
string myValue = Server.UrlEncode("drug & medicare $12/$15");
代わりに、次のクエリ文字列になります: A=drug%20%26%20medicare%20%2412%2F%2415