Výměnný střed stránky – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výměnný střed stránky – .NET – Fórum – Programujte.comVýměnný střed stránky – .NET – Fórum – Programujte.com

 

Cheeester
~ Anonymní uživatel
132 příspěvků
5. 3. 2010   #1
-
0
-

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.

Nahlásit jako SPAM
IP: 80.188.27.–
Chrasty
~ Redaktor
+4
Posthunter
5. 3. 2010   #2
-
0
-

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

Nahlásit jako SPAM
IP: 193.179.196.–
Cheeester
~ Anonymní uživatel
132 příspěvků
5. 3. 2010   #3
-
0
-

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?

Nahlásit jako SPAM
IP: 80.188.27.–
Cheeester
~ Anonymní uživatel
132 příspěvků
5. 3. 2010   #4
-
0
-

To Chrasty : Tak druhý odkaz mi velice pomohl a vše je funkční! Moc děkuji jdu si dál užívat krás .NET :o)

Nahlásit jako SPAM
IP: 80.188.27.–
Cheeester
~ Anonymní uživatel
132 příspěvků
5. 3. 2010   #5
-
0
-

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

Nahlásit jako SPAM
IP: 80.188.27.–
Chrasty
~ Redaktor
+4
Posthunter
5. 3. 2010   #6
-
0
-

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:)

Nahlásit jako SPAM
IP: 193.179.196.–
Cheeester
~ Anonymní uživatel
132 příspěvků
10. 3. 2010   #7
-
0
-

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

Nahlásit jako SPAM
IP: 80.188.27.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 57 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý