[C#]ASP.NETでURL取得する方法とは?プロジェクトの作成・Webアプリの実行・URLの取得・パラメータ付きのURLの取得方法
![[C#]ASP.NETでURL取得する方法とは?プロジェクトの作成・Webアプリの実行・URLの取得・パラメータ付きのURLの取得方法](https://www.fenet.jp/dotnet/column/wp-content/uploads/2020/01/shutterstock_605291261.jpg)
エンジニア
マネージャー
[C#]ASP.NETでURL取得する方法とは?
今回は、[C#]ASP.NETでのURL情報を取得する方法について説明します。プロジェクトの作成、Webアプリの実行、URLの取得、パラメータ付きのURLの取得方法について紹介します。
統合開発環境には、Microsoft Visual Studio Community 2019 Previewを使用します。C#でのファイル名取得に興味のある方はぜひご覧ください。
プロジェクトの作成
C#でURLを取得するためのプロジェクトを作成します。まず、「ASP.NET Web アプリケーション(.NET Framewirk)」のプロジェクトを新規作成します。次に、新しいASP.NET Core Web アプリケーション画面で「Web Forms」を選択して、作成ボタンをクリックします。
プロジェクトを生成すると、フォルダやファイルが自動生成されます。Default.aspxは以下のようになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %> <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <div class="jumbotron"> <h1>ASP.NET</h1> <p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS, and JavaScript.</p> <p><a href="http://www.asp.net" class="btn btn-primary btn-lg">Learn more »</a></p> </div> <div class="row"> <div class="col-md-4"> <h2>Getting started</h2> <p> ASP.NET Web Forms lets you build dynamic websites using a familiar drag-and-drop, event-driven model. A design surface and hundreds of controls and components let you rapidly build sophisticated, powerful UI-driven sites with data access. </p> <p> <a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301948">Learn more »</a> </p> </div> <div class="col-md-4"> <h2>Get more libraries</h2> <p> NuGet is a free Visual Studio extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects. </p> <p> <a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301949">Learn more »</a> </p> </div> <div class="col-md-4"> <h2>Web Hosting</h2> <p> You can easily find a web hosting company that offers the right mix of features and price for your applications. </p> <p> <a class="btn btn-default" href="https://go.microsoft.com/fwlink/?LinkId=301950">Learn more »</a> </p> </div> </div> </asp:Content> |
Default.aspx.csは以下のようになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication2 { public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { } } } |
C#でURLを取得するためのプロジェクトが作成できました。
Webアプリの実行
Webアプリケーションの実行方法を紹介します。VisualStudioの実行ボタン「IIS Express」をクリックするとブラウザが起動します。
ブラウザには「ASP.NET」などと表示されます。以降の章で、URLを取得する方法を紹介します。
URLの取得
C#でのURL情報の取得方法を紹介します。Default.aspxを以下のように変更します。
1 2 3 4 5 6 7 |
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %> <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <div> <asp:Table ID="Table1" runat="server" CssClass="table"></asp:Table> </div> </asp:Content> |
Default.aspx.csを以下のように変更します。Request.Urlの各種プロパティを取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Diagnostics; namespace WebApplication2 { public partial class _Default : Page { protected void Page_Load(object sender, EventArgs e) { // URL取得 AddTable("AbsolutePath", Request.Url.AbsolutePath); AddTable("AbsoluteUri", Request.Url.AbsoluteUri); AddTable("DnsSafeHost", Request.Url.DnsSafeHost); AddTable("Fragment", Request.Url.Fragment); AddTable("Host", Request.Url.Host); AddTable("HostNameType", Request.Url.HostNameType.ToString()); AddTable("IdnHost", Request.Url.IdnHost); AddTable("IsAbsoluteUri", Request.Url.IsAbsoluteUri.ToString()); AddTable("IsDefaultPort", Request.Url.IsDefaultPort.ToString()); AddTable("IsFile", Request.Url.IsFile.ToString()); AddTable("IsLoopback", Request.Url.IsLoopback.ToString()); AddTable("IsUnc", Request.Url.IsUnc.ToString()); AddTable("LocalPath", Request.Url.LocalPath); AddTable("OriginalString", Request.Url.OriginalString); AddTable("PathAndQuery", Request.Url.PathAndQuery); AddTable("Port", Request.Url.Port.ToString()); AddTable("Query", Request.Url.Query); AddTable("Query", Request.Url.Scheme); AddTable("Segments", string.Join(", ", Request.Url.Segments)); AddTable("UserEscaped", Request.Url.UserEscaped.ToString()); AddTable("UserInfo", Request.Url.UserInfo); } private void AddTable(string prop_name, string prop_val) { TableRow tableRow = new TableRow(); TableCell tableName = new TableCell(); tableName.Text = prop_name; tableRow.Cells.Add(tableName); tableName = new TableCell(); tableName.Text = prop_val; tableRow.Cells.Add(tableName); Table1.Rows.Add(tableRow); Debug.WriteLine(prop_name + ":" + prop_val); // VisualStudioの出力ウィンドウに出力される } } } |
実行すると、URL情報がブラウザにテーブルで表示されます。VisualStudioの出力ウィンドウには、以下のように出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
AbsolutePath:/Default AbsoluteUri:https://localhost:44392/Default DnsSafeHost:localhost Fragment: Host:localhost HostNameType:Dns IdnHost:localhost IsAbsoluteUri:True IsDefaultPort:False IsFile:False IsLoopback:True IsUnc:False LocalPath:/Default OriginalString:https://localhost:44392/Default PathAndQuery:/Default Port:44392 Query: Query:https Segments:/, Default UserEscaped:False UserInfo: |
パラメータ付きのURLの取得
C#でのパラメータ付きURL情報の取得方法を紹介します。以下のようにパラメータ付与してブラウザに入力します。
https://localhost:44392/Default?param=value
実行すると、URL情報がブラウザにテーブルで表示されます。VisualStudioの出力ウィンドウには、以下のように出力されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
AbsolutePath:/Default AbsoluteUri:https://localhost:44392/Default?param=value DnsSafeHost:localhost Fragment: Host:localhost HostNameType:Dns IdnHost:localhost IsAbsoluteUri:True IsDefaultPort:False IsFile:False IsLoopback:True IsUnc:False LocalPath:/Default OriginalString:https://localhost:44392/Default?param=value PathAndQuery:/Default?param=value Port:44392 Query:?param=value Query:https Segments:/, Default UserEscaped:False UserInfo: |
エンジニア
マネージャー
まとめ
いかがでしたでしょうか。[C#]ASP.NETでのURL情報を取得する方法について説明しました。プロジェクトの作成、Webアプリの実行、URLの取得、パラメータ付きのURLの取得方法について紹介しました。
ぜひご自身でC#のソースコードを書いて、理解を深めてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


新着案件New Job
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅)遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅)病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅)開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅)債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅)PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)