Здравствуйте! Сегодня: Ср, 21 Окт 2020, Ваш IP: 3.228.10.64 Войти через loginza
 
Вход | Регистрация | Забыли пароль?
Мой Kbyte.Ru
> Список форумов Kbyte.Ru - - Web-программирование
+ Создать новую тему Страница: 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · > · >> · [17]
Тема: Web · +  +    в избранномx2 дата добавления: 18.10.2013 / 20:29
Автор темы:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


Как сделать форму регистрации а точнее сам функционал? на чем?
Технологии: ASP .NET, Visual Basic .NET
--
Du Main Du BA DU
 
Ответ # 41 # · +  +  дата добавления: 20.10.2013 / 20:37
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


Проще всего сделать визуально. Визуально - делов на два клика. Создал новую страницу (раз клик), ткнул по галке (два клик), выбрал мастер-страницу (три клик), скопировал данные с неправильной страницы в новую (четыре-пять клик). Ну да, не два клика, но проще, чем делать то, не знаешь что.

Сам я бы не стал руками править. Лень время тратить
 
Ответ # 42 # · +  +  дата добавления: 20.10.2013 / 22:19
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


Лень время тратить
великая истина
--
Du Main Du BA DU
 
Ответ # 43 # · +  +  дата добавления: 20.10.2013 / 22:28
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


<head runat="server">
для чего эта строчка?
--
Du Main Du BA DU
 
Ответ # 44 # · +  +  дата добавления: 21.10.2013 / 00:41
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


Это html-тег head, в котором размещается title страницы, мета-теги, стили и клиентские скрипты.

Атрибут RunAt="server", как я уже говорил, указывает на то, что этот тег будет серверным.

ASP .NET может потребоваться доступ к head из серверного кода, атрибут RunAt="Server" дает такой доступ. Можно убрать этот атрибут, по идее ничего плохого не должно произойти, но в некоторых случаях, если ASP .NET или тебе понадобится обратиться к head страницы, случится ошибка. Страница - это класс Page, у нее есть свойство, сейчас точно не вспомню, но вроде Header, оно и позволяет программно работать с <head>, при условии, что <head runat="Server">. Это касается любых элементов, размещенных на странице.
 
Ответ # 45 # · +  +  дата добавления: 21.10.2013 / 00:45
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


Доступ к title страницы из кода делается через одноименное свойство страницы:

Page.Title = "привет, мир!"

Это аналог Form1.Text = "привет, мир!", только вместо Form1, Form2 и т.п., всегда будет просто Page.
 
Ответ # 46 # · +  +  дата добавления: 21.10.2013 / 07:20
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


А asp.net становиться всё интереснее:)
--
Du Main Du BA DU
 
Ответ # 47 # · +  +  дата добавления: 21.10.2013 / 07:21
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


А если несколько страниц?? как поменять св. конкретной?
--
Du Main Du BA DU
 
Ответ # 48 # · +  +  дата добавления: 21.10.2013 / 11:53
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


А если несколько страниц?? как поменять св. конкретной?
Не так, как в Windows Forms :) ASP .NET WebForms хоть и похож на Windows Forms, но все же это веб.

В веб нету базового окна, пользователь может войти в любом месте, на любую страницу и выйти. Так просто это не отследить. Когда пользователь находится на одной странице, других не существует, пока он к ним явно не обратится (не перейдет по ссылке). В большинстве своем (если нет кеширования), каждая страница существует для каждого пользователя отдельно.

Есть два объекта для хранения временной информации в памяти сервера:
Session - это можно сказать, оперативная память, выделанная для конкретного пользователя.
Application - это общая память сервера, доступная всем пользователям, т.е. в рамках всего приложения.

Session живет порядка 20 минут.
Application - живет, пока живо приложение. Приложение может завершиться если будет превышен выделенный лимит ресурсов сервера, либо приложение будет длительное время находиться в состоянии бездействия (никто не будет посещать сайт), либо просто придет время перезапуска приложения, либо произойдет перекомпиляция приложения (например, при изменении содержимого папки /bin), либо в коде будет допущена ошибка, которая приведет к зависанию (зацикливанию) процесса. После смерти, веб-приложение будет автоматически запущено при первом обращении к нему (когда кто-нибудь попытается открыть сайт в браузере). По скорости открытия страницы можно визуально определить, запущено приложение только что или работает уже давно. Если запрос выполняется долго, значит приложение было запущено только что, т.к. сервер создает его компилированную (рабочую) копию. Чем сложнее приложение, больше кода, чем тормознутей сервер, тем дольше (заметней) будет проходить первый запуск приложения.

Если помещать в Session и Application большие объемы данных, то приложение всегда будет находиться в состоянии перезапуска :)

Сама идея изменения других страниц - неправильная. Но это можно сделать, используя Session (для конкретного пользователя) или Application (для всех пользователей), но только в момент обращения к странице.

Например, для посетителя не прошедшего авторизацию, можно показывать панель ввода логина и пароля, а для пользователя можно показывать информационную панель. Делается это через Session. На странице aspx код может быть таким:
<asp:Panel ID="pnlGuest" runat="server">
  Логин: <asp:TextBox ID="tbLogin" runat="server"/>
  Пароль: <asp:TextBox ID="tbPassword" runat="server"/>
  <asp:Button ID="btnSigin" runat="server" Text="Вход" />
</asp:Panel>
<asp:Panel ID="pnlUser" runat="server">
  Привет, <asp:Literal ID="litNickname" runat="server" />!
</asp:Panel>
В vb-коде страницы, в обработчике загрузки страницы:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
  If Session("UserId") Is Nothing OrElse Session("UserId") <= 0 Then 'сессии нет, либо UserId меньше или равен нулю
     pnlGuest.Visible = True 'показать панель гостя
     pnlUser.Visible = False ' скрыть панель пользователя
  Else 
     pnlGuest.Visible = False 'скрыть панель гостя
     pnlUser.Visible = True ' показать панель пользователя
     litNickname.Text = Session("Nickname") ' вывести в Literal (типа Lable, хотя Label тоже есть, он поддерживает стили, а литерал - это просто текст) имя пользователя из Session.
  End If
End Sub
Выше указанный код можно сделать одинаково, как на мастер-странице, обычной странице, так и в пользовательском элементе управления. Код будет полностью идентичный, поскольку мастер-страницы, пользовательские элементы управления - это обычные страницы, просто назначение у них разное, но внутри, принцип работы у них одинаковый (различия есть, но они незначительны). Что касается панели авторизации и пользователя, то удобней всего ее делать в пользовательском элементе управления, просто чтобы код не был сильно захламлен и при необходимости можно было использовать механизм авторизации на других страницах. Например, если у тебя несколько мастер-страниц, то удобней сделать один пользовательский элемент управления, который будет помещен на мастер-страницах, чем копировать один и тот же код на все страницы.
 
Ответ # 49 # · +  +  дата добавления: 21.10.2013 / 12:13
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


В дополнение, при помощи элементов-контейнеров (Panel, PlaceHolder, Views и др.), на одной странице можно выводить множество разных данных. Это как Panel в Windows Forms. Размещаешь десяток панелей и показываешь их пользователю при необходимости. Но код может получиться сложным и неудобным в работе, так что обычно отдельные логические части делаются на разных страницах.

И совсем забыл сказать, что наиболее важным в веб являются базы данных, а не временная память (Session и Application). В базе, данные хранить надежней. Session и Application отчасти служат элементом оптимизации. Т.е. можно при каждом запросе к странице проверять пользователя в базе данных, но если пользователей на сайте будет много, база может не справиться с нагрузкой и часть пользователей получит ошибку. А если записать в Session все необходимые данные из базы, то к базе будет сделан всего один запрос для одного пользователя и вероятность возникновения ошибок от перегрузок значительно сокращается (полностью не исключается, т.к. если пользователей будет очень много, ресурсов сервера может не хватить на обработку всех запросов).

Есть еще (файловое) кеширование. Программный доступ к кешу осуществляется через свойство Cache класса Page: Page.Cache(ключ). Правда, добавлять данные в кеш немного сложнее, чем в Application и Session. Когда будет нужно, если сам не разберешься, покажу код :) Кеширование является важным механизмом оптимизации работы с базой данных, да и сайта в целом.
 
Ответ # 50 # · +  +  дата добавления: 21.10.2013 / 22:36
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


У меня с asp.net проблемы пошли при верстке так что лучше я на обычных html сделаю этот проект а потом когда знаний будет побольше отпимизирую
--
Du Main Du BA DU
 
Ответ # 51 # · +  +  дата добавления: 21.10.2013 / 22:42
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


На html не сможешь сделать, то что хочешь.
С html можно сделать просто статичный сайт, без авторизации, доступа к базе данных и т.п.

Показывай html, покажу тебе пример MasterPage и пример страницы.
 
Ответ # 52 # · +  +  дата добавления: 21.10.2013 / 22:48
Автор ответа:
Akiva
Akiva
тем: 95 / ответов: 158 / благодарностей: 3 / репутация: 55
ответов: 158
создал(а) тем: 95


Crash666,
Вы видать не глупый парень; но замучили нашего Гуру
обилием своих вопросов.Не обижайтесь на меня, старика.
Ну,покажите форуму хоть что нибудь, Вами сделанного. А?
Akiva
 
Ответ # 53 # · +  +  дата добавления: 22.10.2013 / 08:35
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


Показывай html, покажу тебе пример MasterPage и пример страницы.
, а думал тут помогают php и js:)
--
Du Main Du BA DU
 
Ответ # 54 # · +  +  дата добавления: 22.10.2013 / 08:40
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


Хорошо, вот html код
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link href="styles\style.css" rel="stylesheet" type="text/css">
    <link rel="icon" href="images/favicon.ico" type="image/x-icon" />
    <title>Хостинг переменных</title>
</head>
<body>
    <div id="Center_Panel">
        <div id="header">
            <ul id="main_menu">
                <li><a href="Home.html" id="first_item">Главная</a></li>
                <li class="top_menu_seps"></li>
                <li><a href="http:\\www,kbyte.ru">KByte.ru</a></li>
                <li class="top_menu_seps"></li>
                <li><a href="На описание хостинга">Хостинг</a></li>
                <li class="top_menu_seps"></li>
                <li><a href="About">О нас</a></li>
                <li class="top_menu_seps"></li>
            </ul>
            <ul id="auth">
                <li class="top_menu_seps"></li>
                <li><img src="images/search.png" id="ico_search"></li>
                <li class="top_menu_seps"></li>
                <li><a href="AuthPage.html">Регистрация</a></li>
                <li class="top_menu_seps"></li>
                <li><a href="AuthPage.html" id="end_item">Войти</a></li></li>
            </ul>
        </div>
        <div id="down_panel">
            <div id="tag">
                Crash.<span id="kb">KByte</span>.Ru</br>
                <span id="tip">Бесплатный хостинг переменных</span>
            </div>
        </div>
        <div class="bg_news" id="first_news">
            <img src="images\im_fw.png" id="im_fw">
            <div>Начало...</br><span id="fw_nw_tp">Сегодня (date) начинает работать наш проект. Он посвящен бесплатному хостингу перменных.
            Для начала вам нужно зарегестрироваться, после чего вам предоставляется ваше рабочее место которое находдится в ЛК (Личный кабинет)</span>
            </div>
        </div>

        <div class="bg_news" id="second_news">
            какой-то текст
        </div>

        <div class="bg_news" id="third_news">
            какой-то текст
        </div>


        <article id="CR">Copyright © Dr. Crash 2013</article>
    </div>
    <div id="mb"></div>
</body>
</html>
Вот стили для этого
/* ignore magic*/
html{height: 100%; width: 100%}
body{
    background: url(../images/background.png) repeat-x 100% black;
    background-size: 100%;
}
#Center_Panel{
    height: 1000px;
    width: 935px;
    background-color: #161616;
    margin: 32px auto;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -o-border-radius: 10px;
    -khtml-border-radius: 10px;
    box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.74);
    -webkit-box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.74);
    -o-box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.74);
    -moz-box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.74);
    -khtml-box-shadow: 0px -5px 5px rgba(0, 0, 0, 0.74);
}
#mb{
    height: 1px;
}
#header{
    height: 37px;
    background: #1f1f1f;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    -webkit-border-top-left-radius: 10px;
    -moz-border-top-left-radius: 10px;
    -o-border-top-left-radius: 10px;
    -khtml-border-top-left-radius: 10px;
    -webkit-border-top-right-radius: 10px;
    -moz-border-top-right-radius: 10px;
    -o-border-top-right-radius: 10px;
    -khtml-border-top-right-radius: 10px;
}
#main_menu{
    list-style: none;
    margin: 0;
    padding: 0;
    float: left;
}
.top_menu_seps{
    height: 37px;
    width: 2px;
    background-color: #3e3e3e;
}
#main_menu li{
    float: left;
}
#main_menu li a{
    text-decoration: none;
    font-size: 12px;
    font-family: Sergoe, Arial, PT sans;
    color: white;
    display: block;
    line-height: 37px;
    padding-left: 23px;
    padding-right: 23px;
}
#main_menu li a:hover{
    background-color: #111111;
}
#first_item:hover{
    border-top-left-radius: 10px;
    -moz-border-top-left-radius: 10px;
    -web-border-top-left-radius: 10px;
    -o-border-top-left-radius: 10px;
    -khtml-border-top-left-radius: 10px;
}
#down_panel{
    padding-top: 17px;
    height: 53px;
    background-color: #181818;
    box-shadow: inset 0px 8px 8px rgba(0, 0, 0, 0.1), inset 0px -8px 8px rgba(0, 0, 0, 0.1);
}
#kb{
    color: #00ff00;
}
#tag{
    color: white;
    font-size: 14px;
    margin-left: 15px;
    height: 35px;
    width: 400px;
}
#tip{
    color: #959595;
    font-size: 12px;
}
#tag:hover{
    cursor: default;
}
#auth{
    list-style: none;
    margin: 0;
    padding: 0;
    float: right;
}
#auth li{
    float: left;
}
#auth li a{
    text-decoration: none;
    font-size: 12px;
    font-family: Sergoe, Arial, PT sans;
    color: white;
    display: block;
    line-height: 37px;
    padding-left: 23px;
    padding-right: 23px;
}
#auth li a:hover{
    background-color: #111111;
}
#end_item:hover{
    border-top-right-radius: 10px;
    -moz-border-top-right-radius: 10px;
    -o-border-top-right-radius: 10px;
    -webkit--border-top-right-radius: 10px;
    -khtml-border-top-right-radius: 10px;

}
#ico_search{
    margin-top: 2px;
    height: 35px;
    width: 37px;
}
#CR{
    font-size: 10px;
    font-family: Sergoe, Arial, Tahoma;
    color: #404040;
    margin-top: 130px;
    text-align: center;
}
#CR:hover{
    cursor: default;
}
#first_news{
    height: 230px;
    background-color: rgba(0,0,0,0.4);
    margin-top: 10px;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
    border-radius: 10px;
    border: 1px black solid;
}
.bg_news:hover{
    border: 1px solid #464646;
    box-shadow: 0px 0px 4px #00f0ff;
    -o-box-shadow: 0px 0px 4px #00f0ff;
    -moz-box-shadow: 0px 0px 4px #00f0ff;
    -webkit-box-shadow: 0px 0px 4px #00f0ff;
    -khtml-box-shadow: 0px 0px 4px #00f0ff;
    transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
    -khtml-transition: all 0.2s ease-in-out;
}
#im_fw{
    margin: 15px;
    float: left;
}
#first_news div{
    font-size: 14px;
    font-family: Sergoe, Arial, PT Sans;
    color: white;
    margin-left: 230px;
    margin-top: 10px;
}
#fw_nw_tp{
    font-family: Sergoe, Arial, PT Sans;
    font-size: 12px;
    color: whitesmoke;
}
#second_news{
    height: 230px;
    background-color: rgba(0,0,0,0.4);
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 10px;
    border: 1px black solid;
    margin-bottom: 20px;
}
#third_news{
    height: 230px;
    background-color: rgba(0,0,0,0.4);
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 10px;
    border: 1px black solid;
}
Вот bg

Вот скрин того что я сверстал:

И еще есть favico, но оно не моё
--
Du Main Du BA DU
 
Ответ # 55 # · +  +  дата добавления: 22.10.2013 / 08:43
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


Но проблема в то что мне нужен MasterPage в ЛК так как они и будут делиться на пользователей
--
Du Main Du BA DU
 
Ответ # 56 # · +  +  дата добавления: 22.10.2013 / 09:42
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


А хотя что то получается
--
Du Main Du BA DU
 
Ответ # 57 # · +  +  дата добавления: 22.10.2013 / 09:59
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


O_O работает...
И еще я извиняюсь за кроспостинг
Алексей спасибо за помощь я справился:)
--
Du Main Du BA DU
 
Ответ # 58 # · +  +  дата добавления: 22.10.2013 / 10:04
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


Вы ведь видели "поиск" по сайту, вот как сделать его?
--
Du Main Du BA DU
 
Ответ # 59 # · +  +  дата добавления: 22.10.2013 / 10:18
Автор ответа:
JustArt
JustArt
тем: 95 / ответов: 675 / благодарностей: 3 / репутация: 35
Url: crash.kbyte.ru
Skype: ghostman12.12.2012
ответов: 675
создал(а) тем: 95


Еще виза жалуется на эту строчку
<meta charset="utf-8">
--
Du Main Du BA DU
 
Ответ # 60 # · +  +  дата добавления: 22.10.2013 / 11:54
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


а думал тут помогают php и js:)
PHP - это совсем другой язык программирования. ASP .NET (это технология, а не язык) во всех отношениях лучше. Разве что кроме цены, Windows стоит денег, а Unix (родная среда для php) бесплатный.
JavaScript - это клиентский язык программирования (работает в браузере, т.е. на стороне клиента). В ASP .NET он тоже используется, если будет нужно.
Еще виза жалуется на эту строчку
<meta charset="utf-8">
Эта строчка должна выглядит так:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
А вообще, если студия не матерится, то можно игнорировать предупреждения. При веб-разработке многое может выходить за рамки сознания Visual Studio :) Обращать внимание стоит только на красные ошибки, из-за которых студия не захочет ничего делать. А (зеленые) предупреждения - ерунда.
Вот стили для этого
#Center_Panel
#header
#third_news
Плохо, очень плохо. Использовать идентификаторы (#) плохо, будут большие проблемы с этим.
Лучше заменить на классы.
.Center_Panel
.header
.third_news

<div class="Center_Panel">
<div class="header">
<ul class="main_menu">

Идентификаторы в принципе можно оставить, но элементам ты их назначить не сможешь (можно, если захотеть, но это неудобно).
При работе с JavaScript придется мучиться со стилевыми идентификаторами, они будут мешать.
В общем, если и не менять все стилевые идентификаторы (#), то как минимум нужно стремиться минимизировать их количество, чтобы они не усложняли процесс разработки сайта.

В коде можно использовать ResolveUrl для выпрямления url-ов.
<link href="<%=ResolveUrl("~/styles/style.css)%>" rel="stylesheet" type="text/css">
<link rel="icon" href="<%=ResolveUrl("~/images/favicon.ico)%>" type="image/x-icon" />
~/ - относительно корневого каталога сайта.
Все слэши в ссылках должны смотреть вправо - /

В файлах стилей использовать ResolveUrl не получится, т.к. это обычный текст (хотя можно, сделать файл стилей серверными (в виде .aspx или .ashx), но так обычно никто не делает).
background: url(../images/background.png)
Путь в стилях можно ставить относительно корневого каталога:
background: url(/images/background.png)
На сервере будет работать, в localhost (который дает Visual Studio), скорее всего, нет (хотя, судя по url на твоих скринах, должно работать нормально). Значения особого это не имеет, главное же что на сервере будет работать :)

Собственно, пути можно везде начинать со слэша. Но на страницах лучше использовать ResolveUrl, чтобы было удобней тестировать в процессе разработки проекта.

Для ссылок (<a />) в ASP .NET WebForms есть серверный элемент HyperLink:
<asp:HyperLink ID="hlMain" NavigateUrl="~/About.aspx" Text="О проекте" runat="server" />
А для картинок (<img />), есть Image:
<asp:Image ID="imgLogo" ImageUrl="~/images/logo.png" runat="server" />
Серверные элементы хороши тем, что в них уже встроен ResolveUrl и отдельно его писать не требуется.
На выходе, в конечном html, вместо HyperLink будет ссылка: <a href="About.aspx">О проекте</a>
(адрес будет в любом случае правильным, относительно корневого каталога сайта).
Вместо Image будет картинка: <img src="/images/logo.png" />

Для картинок лучше указывать размер: width и height, ну и alternativeText (alt).

Как я уже говорил, любой элемент можно сделать серверным, добавив ему атрибут runat="server". Это не только даст доступ к этому элементу из vb-кода, но и воплотит в элементе некоторые свойства, присущие серверным элементам:
<link href="~/styles/style.css" rel="stylesheet" type="text/css" runat="server">
В выше указанном коде ссылка на файл стилей указывается в формате ResolveUrl, но без ResolveUrl, т.к. элемент стал серверным и ResolveUrl реализован внутри него.

Но злоупотреблять серверными элементами не стоит, чтобы сервер не тратил зря ресурсы на их обработку, а также не рос View/Event State (невидимый html код, необходимый для работы ASP .NET, запоминания состояния страницы, событий и т.п.).



Есть еще ASP .NET MVC, там код чистый. В ASP .NET WebForms генерируется много автоматического кода. Но MVC нужно делать все руками. В WebForms хоть и может быть сложно управлять автоматически генерируемым кодом, но работать с данными, до которых ты еще не добрался, будет проще.


Вообще, проблемы с версткой - это самое безобидное, что могло произойти
Дальше будет сложнее, обычно все на базах данных спотыкаются :)

Вы ведь видели "поиск" по сайту, вот как сделать его?
Рекомендую начинать осваивать работу с данными. Форма поиска без возможности поиска будет бесполезной :)
 
Страница: 1 · 2 · 3 · 4 · 5 · 6 · 7 · 8 · 9 · 10 · > · >> · [17] + Создать новую тему