Doplnění stránky ze souboru   zodpovězená otázka

VB.NET, ASP.NET WebForms

Zdravím všechny a poprosil bych o jednoduchou radu (myslím, že pro Vás bude jednoduchá :)

Jak doplním do stránky obsah ze souboru? moje představa je taková, že bych do Title vložil nějakou proměnou:

<title>promemna1</title>

Tady teda ještě používám masterpage, takže to potřebuji doplnit do

<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="aaa.aspx.vb" Inherits="Default2" title="Untitled Page" %>

a to samé v doplňování Meta prvků, kde bych teda proměnou poskladal ze souboru (standardní část)+ část aktuálí stránky

<meta name="description" content=promena2>
<meta name="keywords" content= promena3>

s tím, že zdroj dat by byl soubor .txt, nebo něco podobného a časem až přidám databázi, tak by to byla databáze.

Díky moc za kvalití odpovědi

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dobrý den,

buď vložíte direktivu, která bude při generování nahrazena obsahem souboru:

<!--#include file="jmenosouboru.txt"-->

Nebo vše nastavíte z kódu:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim titulek As String 
        titulek = System.IO.File.ReadAllText(Server.MapPath("~/Titulek.txt"))

        Page.Title = titulek
    End Sub

Pro doplnění obsahu pak můžete použít ovládací prvek Literal. Nastavíte mu text jako obsah souboru a on zobrazí výsledné html přímo do stránky.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Díky, hned jdu vyzkoušet.

ta druhá varianta je to co jsem měl namysli., jak by to mělo vypadat...

abych byl chytřejší můžete rozepsat první variantu??(jak funguje a ajk ji použít)?

jsem opravdu začátečník... Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

První varianta prostě nahradí tu direktivu include za text v souboru, který je jako parametr. Tu direktivu vložte kamkoliv do ASPX souboru.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Sažím se rozchodit druhou variantu, ale kompilace mi hlásí:

Statment is not valid in a namespace. (tohleto nefunguje kdyz to vlozim do .vb souboru stranky)

kdyz jsem vlozil kod do aspx stranky

<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="sukne.aspx.vb" Inherits="Default2" %>

<script runat=server>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim Titulek As String
        
        Titulek = "ahoj"
        
        Page.Title = Titulek
        
End Sub
</script>


<asp:

tak to nehlasi chybu, ale nefunguje....

Princip je urcite psravny od Vas, ale nevim jak rozhybat...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Kód vypadá v pohodě. Pošlete ještě MasterPage, tam může být zakopaný pes.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Změna Title nebo Meta dat stránky by mohla jít změnit např.takto:

<title id="title" runat="server">prvotní title</title>
<meta name="xxx" content="xxx" id="xxx" runat="server" />
<meta name="zzz" content="zzz" id="zzz" runat="server" />

code behind:

title.Text = "Title"
xxx.Attributes("content") = "XXX"
zzz.Attributes("content") = "ZZZ"

a samozřejmě Imports System.Web.UI.HtmlControls

Píšu to z hlavy ve vlaku,tak tam snad není žádný kopanec :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

<%@ Master Language="VB" CodeFile="MasterPage.master.vb" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-t...">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>Fr</title>

<meta name="description"

<meta name="keywords" co

<meta name="author" cont

<meta http-equiv="Conten

<meta http-equiv="Conten

<META http-equiv="cache-

<META http-equiv="pragma

<meta name="robots" CONT

<meta name="verify-v1" c

</head>

<body>

<div id="page">

<div id="hlavicka">

<div id="velkoobchod">

<h1>Velkoobchod - těhotenská móda</h1>

</div>

<div id="menu">

<asp:Menu...>

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nezapomněl jste

Imports System.Web.UI.HtmlControls

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Pánové, tenhle import tam nemám a nedaří se mi vypátrat kam tento kód zapsat a jak použít (v nějakých návodech se ještě řešili položky namespace)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

kód jsem vložil do sukne.aspx.vb (vb stránky, kde chci pustit skript) takto

Imports System.Web.UI.HtmlControls

Partial Class Default2
    Inherits System.Web.UI.Page

End Class

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim titulek As String

    Page.Title = "Ahoj"
End Sub

ale pořád tu je problém se namespace

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem se také spletl.Kód by mohl být jednoduchý..třeba takto:

píšu v C#

protected void Page_Load(object sender, EventArgs e)
    {        
        string a = "ahoj";
        Page.Header.Title = a;
    }

Zkoušel jsem to a funguje to.Samozřejmě je to jen příklad,takže je potřeba přizpůsobit to své logice.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

emhmm ehm... prosim prosim smutne koukam, neslo by to v basicu? :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Snad nějak takto :

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim titulek As String = "něco"
    Page.Header.Title = titulek

End Sub

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

asi je ten kód správně,ale hlasí mi to chybu v namespace, coz je chyba s importem... nevim kam a jak spravene ho zapsat... (asi ted budu dost otrvovat, kdysi jsem skoncil na HTML a CSS a ted po letech se poustim do noveho projektu, tak se musimnaucit nove veci)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já to zkoušel a nic mi to nehlásí.Chyba bude někde jinde

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem to rozchodil... je vidět, že jsem dlouho nic nedělal :)

Teda rozchodil jsme to tak, že se to zkompiluje, ale už se to nepromítne do title...

Jestli jsem t dpobře pochopil, tak ve stránkáhc navázaných na master, se title vkládá z

<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="sukne.aspx.vb" Inherits="Default2" Title=""%>

pokud tady nechám title prázdný, tak se vloží z mastru, jinak se vloží to co napíšu zde... jak server přesvědči aby to pral z parametru?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslím,že odpovědi na řešení máte.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jo?

tak jdu pátrat a zkoušet... Díky za spolupráci

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback