ソースを参照

Fixed URL Routing generation for Links.

Added Namespace routing extension.
tags/2.0.2
Teknikode 6年前
コミット
d97e89d9d3

+ 29
- 3
Teknik/App_Start/SubdomainRouteExtension.cs ファイルの表示

@@ -18,6 +18,30 @@ namespace Teknik
return route;
}

public static SubdomainRoute MapSubdomainRoute(this RouteCollection routes, string name, string subDomain, string url, object defaults, object constraints)
{
SubdomainRoute route = new SubdomainRoute(
subDomain,
url,
new RouteValueDictionary(defaults),
new RouteValueDictionary(constraints),
new MvcRouteHandler());
routes.Add(name, route);
return route;
}

public static SubdomainRoute MapSubdomainRoute(this RouteCollection routes, string name, string subDomain, string url, object defaults, string[] namespaces)
{
SubdomainRoute route = new SubdomainRoute(
subDomain,
url,
new RouteValueDictionary(defaults),
new RouteValueDictionary(namespaces),
new MvcRouteHandler());
routes.Add(name, route);
return route;
}

public static SubdomainRoute MapSubdomainRoute(this AreaRegistrationContext context, string name, string subDomain, string url, object defaults)
{
SubdomainRoute route = new SubdomainRoute(
@@ -46,15 +70,17 @@ namespace Teknik
return route;
}

public static SubdomainRoute MapSubdomainRoute(this RouteCollection routes, string name, string subDomain, string url, object defaults, object constraints)
public static SubdomainRoute MapSubdomainRoute(this AreaRegistrationContext context, string name, string subDomain, string url, object defaults, string[] namespaces)
{
SubdomainRoute route = new SubdomainRoute(
subDomain,
url,
new RouteValueDictionary(defaults),
new RouteValueDictionary(constraints),
new RouteValueDictionary(new {}),
new RouteValueDictionary(new { Area = context.AreaName, Namespaces = namespaces }),
new MvcRouteHandler());
routes.Add(name, route);

context.Routes.Add(name, route);
return route;
}
}

+ 4
- 2
Teknik/Areas/About/AboutAreaRegistration.cs ファイルの表示

@@ -18,13 +18,15 @@ namespace Teknik.Areas.About
"About_dev", // Route name
"dev",
"About/{controller}/{action}", // URL with parameters
new { area = "About", controller = "About", action = "Index" } // Parameter defaults
new { area = "About", controller = "About", action = "Index" }, // Parameter defaults
new[] { typeof(Controllers.AboutController).Namespace }
);
context.MapSubdomainRoute(
"About_default", // Route name
"about",
"{controller}/{action}", // URL with parameters
new { area = this.AreaName, controller = "About", action = "Index", username = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
new { area = this.AreaName, controller = "About", action = "Index", username = UrlParameter.Optional, page = UrlParameter.Optional }, // Parameter defaults
new[] { typeof(Controllers.AboutController).Namespace }
);
}
}

+ 1
- 1
Teknik/Areas/About/Controllers/AboutController.cs ファイルの表示

@@ -16,7 +16,7 @@ namespace Teknik.Areas.About.Controllers
ViewBag.Title = Config.Title + " - About";
ViewBag.Message = "Your application description page.";

return View(Config);
return View();
}
}
}

+ 1
- 1
Teknik/Areas/About/Views/About/Index.cshtml ファイルの表示

@@ -45,7 +45,7 @@
<p>
<div class="input-group col-sm-6 col-sm-offset-3">
<span class="input-group-addon" id="basic-addon1">Bitcoin Address</span>
<input type="text" class="form-control" name="bitcoin_address" value="@Model.BitcoinAddress" readonly>
<input type="text" class="form-control" name="bitcoin_address" value="@ViewBag.Config.BitcoinAddress" readonly>
</div>
<br />
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MBG93VKQ343P4">

+ 6
- 3
Teknik/Areas/Home/HomeAreaRegistration.cs ファイルの表示

@@ -19,19 +19,22 @@ namespace Teknik.Areas.Home
"Home_dev", // Route name
"dev",
"Home/{controller}/{action}", // URL with parameters
new { area = "Home", controller = "Home", action = "Index" } // Parameter defaults
new { area = "Home", controller = "Home", action = "Index" }, // Parameter defaults
new[] { typeof(Controllers.HomeController).Namespace }
);
context.MapSubdomainRoute(
"Home_subdomain", // Route name
"www",
"{controller}/{action}", // URL with parameters
new { area = this.AreaName, controller = "Home", action = "Index" } // Parameter defaults
new { area = this.AreaName, controller = "Home", action = "Index" }, // Parameter defaults
new[] { typeof(Controllers.HomeController).Namespace }
);
context.MapSubdomainRoute(
"Home_default", // Route name
null,
"{controller}/{action}", // URL with parameters
new { area = this.AreaName, controller = "Home", action = "Index" } // Parameter defaults
new { area = this.AreaName, controller = "Home", action = "Index" }, // Parameter defaults
new[] { typeof(Controllers.HomeController).Namespace }
);
//context.MapRoute(
// "Home_default",

+ 8
- 8
Teknik/Areas/Home/Views/Home/Index.cshtml ファイルの表示

@@ -15,7 +15,7 @@
<br />
<div class="container">
<div class="row">
<a href="@Url.Action("Index", "Upload")">
<a href="@Url.Action("Index", "Upload", new { area = "Upload"})">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br />
@@ -26,7 +26,7 @@
</div>
</div>
</a>
<a href="@Url.Action("Index", "Paste")">
<a href="@Url.Action("Index", "Paste", new { area = "Paste"})">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br />
@@ -37,7 +37,7 @@
</div>
</div>
</a>
<a href="@Url.Action("Index", "Podcast")">
<a href="@Url.Action("Index", "Podcast", new { area = "Podcast"})">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br />
@@ -48,7 +48,7 @@
</div>
</div>
</a>
<a href="@Url.Action("Index", "Help")/#Mumble">
<a href="@Url.Action("Index", "Help", new { area = "Help"})/#Mumble">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br />
@@ -68,7 +68,7 @@
</div>
<br/>
<div class="row">
<a href="@Url.Action("Index", "Help")/#Mail">
<a href="@Url.Action("Index", "Help", new { area = "Help"})/#Mail">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br/>
@@ -79,7 +79,7 @@
</div>
</div>
</a>
<a href="@Url.Action("Index", "Git")">
<a href="@Url.Action("Index", "Git", new { area = "Git"})">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br/>
@@ -90,7 +90,7 @@
</div>
</div>
</a>
<a href="@Url.Action("Index", "Blog")">
<a href="@Url.Action("Index", "Blog", new { area = "Blog"})">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br/>
@@ -101,7 +101,7 @@
</div>
</div>
</a>
<a href="@Url.Action("Index", "Help")/#IRC">
<a href="@Url.Action("Index", "Help", new { area = "Help"})/#IRC">
<div class="col-md-3 text-center">
<div class="thumbnail">
<br/>

+ 6
- 2
Teknik/Configuration/Config.cs ファイルの表示

@@ -58,8 +58,12 @@ namespace Teknik

public static Config Load()
{
string configContents = File.ReadAllText(HttpContext.Current.Server.MapPath("~/App_Data/Config.json"));
Config config = Config.Deserialize(configContents);
Config config = new Config();
if (File.Exists(HttpContext.Current.Server.MapPath("~/App_Data/Config.json")))
{
string configContents = File.ReadAllText(HttpContext.Current.Server.MapPath("~/App_Data/Config.json"));
config = Config.Deserialize(configContents);
}
return config;
}
}

+ 30
- 0
Teknik/Content/Images/logo-black-io.svg ファイルの表示

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="358.723px" height="72.131px" viewBox="0 0 358.723 72.131" enable-background="new 0 0 358.723 72.131"
xml:space="preserve">
<path fill="#231F20" d="M6.386,37.688c0-3.665-2.722-6.7-6.386-7.537V22.3h6.386V10.784h11.62V22.3h18.217v10.363h-22.09v3.561
c2.513,0.732,3.873,2.93,3.873,5.863v19.574h18.217v10.47H11.515c-2.616,0-5.129-2.198-5.129-5.235V37.688z"/>
<path fill="#231F20" d="M130.21,61.661L114.612,45.54l12.04-12.877h7.118V22.3h-8.689c-2.512,0-4.083,0.942-5.129,1.989
l-15.39,16.854h-2.407V5.13c0-2.512-2.199-5.13-5.13-5.13H84.147v10.47h6.386v51.191h-5.895h-0.596H50.317V49.729h4.188
c0.523,2.721,2.513,3.663,5.024,3.663h20.31c3.036,0,5.235-2.198,5.235-5.235V27.638c0-3.035-2.199-5.338-5.235-5.338H44.036
c-2.722,0-5.34,2.303-5.34,5.338v39.258c0,3.037,2.618,5.235,5.34,5.235h40.007h1.03h11.951c2.931,0,5.13-2.198,5.13-5.235V50.984
h3.035l17.798,19.263c1.569,1.465,3.036,1.884,5.024,1.884h5.758v-10.47H130.21z M50.317,32.663h23.135v10.365H50.317V32.663z"/>
<rect x="198.291" y="0.143" fill="#231F20" width="11.621" height="12.772"/>
<path fill="#231F20" d="M206.451,61.661v-3.453c2.617-0.629,3.873-2.722,3.873-4.816V27.638c0-3.035-2.305-5.338-5.131-5.338h-12.98
v10.363h6.49v24.184c0,3.559-2.512,3.635-6.49,4.682v10.603h24.602h12.982c2.932,0,5.129-2.198,5.129-5.235V50.984h3.035
l17.799,19.263c1.57,1.465,3.035,1.884,5.023,1.884h9.004v-10.47h-6.805l-15.6-16.121l12.041-12.877h7.119V22.3h-8.691
c-2.512,0-4.082,0.942-5.129,1.989l-15.389,16.854h-2.408V5.13c0-2.512-2.197-5.13-5.129-5.13H216.92v10.47h6.385v51.191"/>
<path fill="#231F20" d="M272.262,61.661h11.453v10.47h-11.453V61.661z"/>
<path fill="#231F20" d="M286.188,61.661c3.92-1.049,6.396-1.279,6.396-4.846V32.582h-6.396V22.196h12.793
c2.787,0,5.057,2.308,5.057,5.35v25.806c0,2.099-1.238,4.197-3.818,4.826v3.462h10.215v10.49h-24.246V61.661z"/>
<rect x="292.584" fill="#231F20" width="11.453" height="12.798"/>
<path fill="#231F20" d="M312.91,27.546c0-3.042,2.477-5.35,5.365-5.35h35.186c2.992,0,5.262,2.308,5.262,5.35v39.339
c0,3.042-2.27,5.245-5.262,5.245h-35.186c-2.889,0-5.365-2.203-5.365-5.245V27.546z M347.27,61.641V32.582h-22.906v29.059H347.27z"
/>
<path fill="#231F20" d="M183.248,61.661V27.638c0-3.035-2.721-5.338-5.547-5.338h-25.754l-4.71,7.747h-0.209v-2.514
c0-2.093-1.676-5.233-5.444-5.233l-5.34-0.135v10.498v21.59v2.594v15.284h18.217v-10.47h-10.469v-3.453
c2.617-0.629,3.873-2.722,3.873-4.816V40.2c0-4.396,3.455-7.537,7.852-7.537h15.912v34.232c0,3.037,2.408,5.235,5.235,5.235h12.876
v-10.47H183.248z"/>
</svg>

+ 23
- 0
Teknik/Content/Images/logo-black.svg ファイルの表示

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="263.292px" height="72.13px" viewBox="0 0 263.292 72.13" enable-background="new 0 0 263.292 72.13" xml:space="preserve">
<path d="M6.386,37.689c0-3.666-2.722-6.7-6.386-7.538V22.3h6.386V10.784h11.62V22.3h18.217v10.363h-22.09v3.561
c2.513,0.732,3.873,2.93,3.873,5.863v19.574h18.217V72.13H11.515c-2.616,0-5.129-2.197-5.129-5.234V37.689z"/>
<path d="M130.21,61.662l-15.599-16.121l12.04-12.877h7.118V22.3h-8.689c-2.512,0-4.083,0.942-5.129,1.989l-15.39,16.854h-2.407V5.13
c0-2.512-2.199-5.13-5.13-5.13H84.147v10.47h6.386v51.192h-5.895h-0.596H50.317V49.728h4.188c0.523,2.721,2.513,3.664,5.024,3.664
h20.31c3.036,0,5.235-2.199,5.235-5.236V27.638c0-3.035-2.199-5.338-5.235-5.338H44.036c-2.722,0-5.34,2.303-5.34,5.338v39.258
c0,3.037,2.618,5.234,5.34,5.234h40.007h1.03h11.951c2.931,0,5.13-2.197,5.13-5.234V50.984h3.035l17.798,19.264
c1.569,1.465,3.036,1.883,5.024,1.883h5.758V61.662H130.21z M50.317,32.663h23.135v10.366H50.317V32.663z"/>
<polygon points="203.416,0 196.745,0 191.794,0 191.794,12.772 203.416,12.772 "/>
<path d="M199.955,61.662v-3.453c2.617-0.629,3.873-2.723,3.873-4.816V27.638c0-3.035-2.304-5.338-5.13-5.338h-12.98v10.363h6.489
v24.184c0,3.559-2.512,3.635-6.489,4.682V72.13h24.602H223.3c2.932,0,5.13-2.197,5.13-5.234V50.984h3.035l17.798,19.264
c1.57,1.465,3.036,1.883,5.024,1.883h9.004V61.662h-6.805l-15.6-16.121l12.04-12.877h7.119V22.3h-8.69
c-2.512,0-4.082,0.942-5.129,1.989l-15.39,16.854h-2.407V5.13c0-2.512-2.198-5.13-5.13-5.13h-12.877v10.47h6.386v51.192"/>
<path d="M183.249,61.662V27.638c0-3.035-2.721-5.338-5.548-5.338h-25.754l-4.71,7.747h-0.209v-2.514
c0-2.093-1.676-5.233-5.444-5.233l-5.34-0.135v10.498v21.59v2.594V72.13h18.217V61.662h-10.469v-3.453
c2.617-0.629,3.873-2.723,3.873-4.816V40.201c0-4.396,3.455-7.538,7.852-7.538h15.912v34.233c0,1.289,0.435,2.428,1.151,3.311
c0.97,1.197,2.458,1.924,4.084,1.924h6.381L183.249,61.662L183.249,61.662z"/>
<rect x="171.628" y="54.419" width="11.62" height="6.25"/>
</svg>

+ 30
- 0
Teknik/Content/Images/logo-blue-io.svg ファイルの表示

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="358.722px" height="72.131px" viewBox="0 0 358.722 72.131" enable-background="new 0 0 358.722 72.131"
xml:space="preserve">
<path fill="#418BCA" d="M6.386,37.688c0-3.665-2.722-6.7-6.386-7.537V22.3h6.386V10.784h11.62V22.3h18.217v10.363h-22.09v3.561
c2.513,0.732,3.873,2.93,3.873,5.863v19.574h18.217v10.47H11.515c-2.616,0-5.129-2.198-5.129-5.235V37.688z"/>
<path fill="#418BCA" d="M130.21,61.661L114.612,45.54l12.04-12.877h7.118V22.3h-8.689c-2.512,0-4.083,0.942-5.129,1.989
l-15.39,16.854h-2.407V5.13c0-2.512-2.199-5.13-5.13-5.13H84.147v10.47h6.386v51.191h-5.895h-0.596H50.317V49.729h4.188
c0.523,2.721,2.513,3.663,5.024,3.663h20.31c3.036,0,5.235-2.198,5.235-5.235V27.638c0-3.035-2.199-5.338-5.235-5.338H44.036
c-2.722,0-5.34,2.303-5.34,5.338v39.258c0,3.037,2.618,5.235,5.34,5.235h40.007h1.03h11.951c2.931,0,5.13-2.198,5.13-5.235V50.984
h3.035l17.798,19.263c1.569,1.465,3.036,1.884,5.024,1.884h5.758v-10.47H130.21z M50.317,32.663h23.135v10.365H50.317V32.663z"/>
<rect x="198.291" y="0.143" fill="#418BCA" width="11.621" height="12.772"/>
<path fill="#418BCA" d="M206.451,61.661v-3.453c2.617-0.629,3.873-2.722,3.873-4.816V27.638c0-3.035-2.304-5.338-5.13-5.338h-12.98
v10.363h6.489v24.184c0,3.559-2.512,3.635-6.489,4.682v10.603h24.602h12.981c2.932,0,5.13-2.198,5.13-5.235V50.984h3.035
l17.798,19.263c1.57,1.465,3.036,1.884,5.024,1.884h9.004v-10.47h-6.805l-15.6-16.121l12.04-12.877h7.119V22.3h-8.69
c-2.512,0-4.082,0.942-5.129,1.989l-15.39,16.854h-2.407V5.13c0-2.512-2.198-5.13-5.13-5.13h-12.877v10.47h6.386v51.191"/>
<path fill="#418BCA" d="M272.261,61.661h11.453v10.47h-11.453V61.661z"/>
<path fill="#418BCA" d="M286.187,61.661c3.92-1.049,6.396-1.279,6.396-4.846V32.582h-6.396V22.196h12.794
c2.786,0,5.056,2.308,5.056,5.35v25.806c0,2.099-1.238,4.197-3.817,4.826v3.462h10.215v10.49h-24.247V61.661z"/>
<rect x="292.583" fill="#418BCA" width="11.453" height="12.798"/>
<path fill="#418BCA" d="M312.911,27.546c0-3.042,2.477-5.35,5.365-5.35h35.185c2.992,0,5.262,2.308,5.262,5.35v39.339
c0,3.042-2.27,5.245-5.262,5.245h-35.185c-2.889,0-5.365-2.203-5.365-5.245V27.546z M347.269,61.641V32.582h-22.905v29.059H347.269z
"/>
<path fill="#418BCA" d="M183.249,61.661V27.638c0-3.035-2.721-5.338-5.548-5.338h-25.754l-4.71,7.747h-0.209v-2.514
c0-2.093-1.676-5.233-5.444-5.233l-5.34-0.135v10.498v21.59v2.594v15.284h18.217v-10.47h-10.469v-3.453
c2.617-0.629,3.873-2.722,3.873-4.816V40.2c0-4.396,3.455-7.537,7.852-7.537h15.912v34.232c0,3.037,2.408,5.235,5.235,5.235h12.876
v-10.47H183.249z"/>
</svg>

+ 3
- 0
Teknik/Teknik.csproj ファイルの表示

@@ -169,6 +169,9 @@
<Content Include="Content\CSS\font-awesome.css" />
<Content Include="Content\CSS\font-awesome.min.css" />
<Content Include="Content\Images\favicon.ico" />
<Content Include="Content\Images\logo-black-io.svg" />
<Content Include="Content\Images\logo-black.svg" />
<Content Include="Content\Images\logo-blue-io.svg" />
<Content Include="Content\Images\logo-blue.svg" />
<Content Include="Content\fonts\fontawesome-webfont.svg" />
<Content Include="Content\fonts\glyphicons-halflings-regular.svg" />

+ 1
- 1
Teknik/Views/Profile/Login.cshtml ファイルの表示

@@ -1,6 +1,6 @@
@model Teknik.ViewModels.LoginViewModel

<form role="form" id="loginForm" action="@Url.Action("Login", "Profile")" method="post" accept-charset="UTF-8">
<form role="form" id="loginForm" action="@Url.Action("Login", "Profile", new { area = "Home" })" method="post" accept-charset="UTF-8">
@Html.ValidationSummary(true, "Login failed. Check your login details.")
<div class="form-group">
<input type="text" class="form-control" id="Username" value="" placeholder="Username" name="Username" data-val-required="The Username field is required." data-val="true" />

+ 1
- 1
Teknik/Views/Profile/Register.cshtml ファイルの表示

@@ -1,6 +1,6 @@
@model Teknik.ViewModels.RegisterViewModel

<form role="form" id="registrationForm" action="@Url.Action("Register", "Profile")" method="post" accept-charset="UTF-8">
<form role="form" id="registrationForm" action="@Url.Action("Register", "Profile", new { area = "Profile" })" method="post" accept-charset="UTF-8">
@Html.ValidationSummary(true, "Registration failed. Check your registration details.")
<div class="form-group">
<input type="text" class="form-control" id="Username" value="" placeholder="Username" name="Username" data-val-required="The Username field is required." data-val="true"/>

+ 4
- 4
Teknik/Views/Shared/_LoginPartial.cshtml ファイルの表示

@@ -7,19 +7,19 @@
<a href="#" id="user_menu" class="dropdown-toggle" data-toggle="dropdown">@User.Identity.Name <strong class="caret"></strong></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="user_menu">
<li>
<a href="@Url.Action("Index", "Profile")/@User.Identity.Name">Profile</a>
<a href="@Url.Action("Index", "Profile", new { area = "Profile" })/@User.Identity.Name">Profile</a>
</li>
<li>
<a href="@Url.Action("Index", "Blog")/@User.Identity.Name">Blog</a>
<a href="@Url.Action("Index", "Blog", new { area = "Blog" })/@User.Identity.Name">Blog</a>
</li>
if (User.Identity.Group == Groups.Founder)
{
<li>
<a href="@Url.Action("Index", "Admin")">Administration</a>
<a href="@Url.Action("Index", "Admin", new { area = "Admin" })">Administration</a>
</li>
}
<li>
@Html.ActionLink("Sign Out", "Logout", "Profile")
@Html.ActionLink("Sign Out", "Logout", "Profile", new { area = "Profile" })
</li>
</ul>
</li>

+ 12
- 12
Teknik/Views/Shared/_Navbar.cshtml ファイルの表示

@@ -7,50 +7,50 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="@Url.Action("Index", "Home")"><img src="/Content/Images/logo-blue.svg" height="20" alt="Teknik"></a>
<a class="navbar-brand" href="@Url.Action("Index", "Home", new { area = "Home" })"><img src="/Content/Images/logo-black.svg" height="20" alt="Teknik"></a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li><a href="@Url.Action("Index", "Home")">Home</a></li>
<li><a href="@Url.Action("About", "Home")">About</a></li>
<li><a href="@Url.Action("Index", "Home", new { area = "Home" })">Home</a></li>
<li><a href="@Url.Action("Index", "About", new { area = "About" })">About</a></li>
<li class="divider-vertical"></li>

<li class="dropdown">
<a href="#" id="services_menu" class="dropdown-toggle" data-toggle="dropdown">Services <strong class="caret"></strong></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="services_menu">
<li>
<a href="@Url.Action("Index", "Blog")">Blog</a>
<a href="@Url.Action("Index", "Blog", new { area = "Blog" })">Blog</a>
</li>
<li>
<a href="@Url.Action("Index", "Podcast")">Podcast</a>
<a href="@Url.Action("Index", "Podcast", new { area = "Podcast" })">Podcast</a>
</li>
<li class="divider"></li>
<li>
<a href="@Url.Action("Index", "Upload")">Upload</a>
<a href="@Url.Action("Index", "Upload", new { area = "Upload" })">Upload</a>
</li>
<li>
<a href="@Url.Action("Index", "Paste")">Paste</a>
<a href="@Url.Action("Index", "Paste", new { area = "Paste" })">Paste</a>
</li>
<li>
<a href="@Url.Action("Index", "Git")">Git</a>
<a href="@Url.Action("Index", "Git", new { area = "Git" })">Git</a>
</li>
<li>
<a href="@Url.Action("Index", "Mail")" target="_blank">Mail</a>
<a href="@Url.Action("Index", "Mail", new { area = "Mail" })" target="_blank">Mail</a>
</li>
<li>
<a href="mumble://mumble.@(ViewBag.Config.Host):64738/?version=1.2.5" target="_blank">Mumble</a>
</li>
<li class="divider"></li>
<li>
<a href="@Url.Action("Index", "Ricehalla")">Ricehalla</a>
<a href="@Url.Action("Index", "Ricehalla", new { area = "Ricehalla" })">Ricehalla</a>
</li>
</ul>
</li>
<li>
<a href="@Url.Action("Index", "Contact")">Contact</a>
<a href="@Url.Action("Index", "Contact", new { area = "Contact" })">Contact</a>
</li>
<li>
<a href="@Url.Action("Index", "Help")">Help</a>
<a href="@Url.Action("Index", "Help", new { area = "Help" })">Help</a>
</li>
</ul>
@Html.Partial("_LoginPartial")

読み込み中…
キャンセル
保存