Ahoj, přecházím z PHP na .NET a musím říct, že jsem doslova uchvácen. Vážně parádní. Přepisuji teď jednoduchý HTML/PHP web do .NET, zatím prakticky bez složitostí a nemohu přijít na to jak udělám hlavní stránku (kostru) s výmněnným středem (obsahem) Podobně jako v PHP zajišťuje funkce @include. Chci mít statické menu i patičku a měnit na zavolání pouze jednotlivé stránky uprostřed (o nas, kontakt....)
Děkuji moc za hepl.
Fórum › .NET
Výměnný střed stránky
Za prvé, gratuluji k přechodu na tuto vynikající technologii:-)
Tomuhle konceptu se v ASP.NET/MVC říká MasterPages. Něco málo o nich najdeš v mém článku http://programujte.com/?akce=clanek&cl=2009080700-asp-net-mvc-v-praxi-od-a-do-z-9-dil-%2596-partial-views-a-master-pages
Sice je ten článek o ASP.NET MVC, ale zrovna MasterPages fungují stejně jako v klasickém ASP.NET.
Update: Našel jsem tu speciální článek o MasterPages, tady http://programujte.com/?akce=clanek&cl=2006100502-asp-net-master-pages
To Chrasty : Děkuji. Zkouším zkouším ale při kompilaci mi to hodí chybu že nebyl nalezen System.Web.Mvc.ViewPage
do MAsterPage jsem dal na místo kam chci měnit obsah
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
a nahoru do hlavičky MasterPage
# <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
následně pak do stránky kterou chci načíst do stránky (default.aspx) která je v rootu jako MasterPage do hlavičky
<%@ Page Inherits="System.Web.Mvc.ViewPage<NerdDinner.Controllers.DinnerViewModel>" MasterPageFile="~/MasterPage.Master" %>
v čem je problém? Neměla by tam být nějaká knihovna, která volá respektivě vrací volanou stránku?
To Cheeester : Ještě by mě ale stejně zajímalo, jak udělám, když všechny stránky kromě default.aspx chci vložit do nějakého adresáře řekněmě pages. Jak je pak volám aniž bych musel zadavat www.domena.cz/pages/kontakt.aspx
Děkuji moc moc
To Cheeester : To že to nefungovalo bylo právě kvůli tomu, že ty teď tu stránku píšeš v ASP.NET, zatímco ten první článek, co jsem na něj odkázal, byl o ASP.NET MVC, jsou tam trochu rozdíly v použitých knihovnách:)
To Cheeester : Mrkni se na technologie ASP.NET URL Rewriting a ASP.NET Routing (Routing je modernější alternativou k Rewritingu). Vlastně ti to umožní napsat URL např. domena.cz/kontakt.aspx, která ve skutečnosti povede na domena.cz/pages/kontakt.aspx.
Jednodušší by ale rozhodně bylo mít tu kontakt.aspx přímo v rootu, pak se s ničím takovým nemusíš v tomhle případě zaobírat:)
To Chrasty :
Již třetí den se pokouším dát dohromady ASP.NET routing dle doporučení. Čerpám z webu http://knowledge-base.havit.cz/asp-net/ASP-NET-Routing-alternativa-k-URL-Rewritingu.aspx
do souboru web.config jsem přidal do mezi <httpModules>
<add name="RoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
a do Global.asax jsem přidal
private void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routeCollection)
{
routeCollection.Add("Test", new Route("test/{MyParam}", new MyRouteHandler("~/Pages/o-nas.aspx")));
}
public class MyRouteHandler : IRouteHandler
{
private string _targetVirtualPath;
#region Constructor
public MyRouteHandler(string targetVirtualPath)
{
_targetVirtualPath = targetVirtualPath;
}
#endregion
#region GetHttpHandler
/// <summary>
/// Provides the object that processes the request.
/// </summary>
/// <param name="requestContext">An object that encapsulates information about the request.</param>
/// <returns>An object that processes the request.</returns>
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
// zkopírování parametrů z route do HttpContext.Items
foreach (var urlParm in requestContext.RouteData.Values)
{
requestContext.HttpContext.Items[urlParm.Key] = urlParm.Value;
}
return BuildManager.CreateInstanceFromVirtualPath(_targetVirtualPath, typeof(Page)) as IHttpHandler;
}
#endregion
}
a hazí mi to stále tyto chyby:
Error 1 Název typu nebo oboru názvů RouteCollection nebyl nalezen (pravděpodobně jste neuvedli direktivu using nebo odkaz na sestavení). C:\inetpub\wwwroot\priklady\web\Global.asax 12 39 C:\...\web\
Error 2 Název typu nebo oboru názvů IRouteHandler nebyl nalezen (pravděpodobně jste neuvedli direktivu using nebo odkaz na sestavení). C:\inetpub\wwwroot\priklady\web\Global.asax 17 35 C:\...\web\
Error 3 Název typu nebo oboru názvů RequestContext nebyl nalezen (pravděpodobně jste neuvedli direktivu using nebo odkaz na sestavení). C:\inetpub\wwwroot\priklady\web\Global.asax 34 44 C:\...\web\
již nevím jak dál. Prosím o pomoc. Moc děkuji
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Obrazek na stred stranky... — založil Mira
Návrh databáze pro výměnný obchod — založil yalb
Chci replacnout adresu stránky na které se právě nacházím, bez refre… — založil Elhomero
Vyhledávání na střed — založil mates
Tabulka na střed — založil mara666
Moderátoři diskuze