Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Страная проблема. Нужна помощь ... / 4 сообщений из 4, страница 1 из 1
05.12.2004, 08:01
    #32813298
Antropos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страная проблема. Нужна помощь ...
Всем привет.

Столкнулся с проблемой и уже второй день бьюсь об нее как об стенку головой.
А суть вот в чем: имеется Header control который собственно распечатывает банер и верх страницы (все статическое , обычный html), почти в самом конце его вложен Menu control который берет меню из базы данных строит кнопочки меню и должен их распечатать, но проблема в том что распечатываемое меню ввыодиться в самый самый верх страницы (еще до того как даже теги DOCTYPE и html и header). Если делаю меню просто статическим то все в порядке, если же пытаюсь сделать динамическим то выходить такая вот гадость.

Подскажите пожалуйста решение, ато уже не знаю что и делать :(
Ниже привожу код, чтобы было понятно о чем речь идет.

Header control :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="Header.ascx.cs" 
Inherits="Blog.components.Header" TargetSchema="http://schemas.microsoft.com
/intellisense/ie5"%>
<%@ Register TagPrefix="uc1" 
TagName="mainmenu" Src="mainmenu.ascx" %>

<style type="text/css" media="screen"> 
	@import url( components/Header.css );  
</style>

<div id="mainbanerimg">
	<div id="mainbanerbg">
		<IMG src="images/h1_04.jpg" id="mainbannerpic"> 
		<IMG src="images/tag_04.jpg" id="mainbannerpic2">
	</div>
</div>
<div id="mainbanerimg1">
	<div id="menubar">
                   <!-- Вложеный конроль --> 
		<uc1:mainmenu id="Mainmenu1" runat="server"></uc1:mainmenu>
	</div>
</div>

Menu control который собственно вложен в header control :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
private void BuildMenu()
{
	string mainMenu = "";
	NewSql.GetCategories(ref MenuSet);
		
	foreach(System.Data.DataRow row in MenuSet.Tables["blog_category"].Rows)
		{
		mainMenu = "<div class=mbutton1>";
		mainMenu = mainMenu + "<A class=link href=/blog/Default.aspx?cid=" + 
                     row["category_id"].ToString() + ">";
		mainMenu = mainMenu + row["category_name"].ToString();
		mainMenu = mainMenu + "</A></div>";
		Context.Response.Write(mainMenu);
	}
}

И вот собственно сама гадость которую получаю на выходе страницы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
<div class=mbutton1><A class=link href=/blog/Default.aspx?cid= 1 >Home</A></div>
<div class=mbutton1><A class=link href=/blog/Default.aspx?cid= 2 >About</A></div>
<div class=mbutton1><A class=link href=/blog/Default.aspx?cid= 3 >Links</A></div>
<div class=mbutton1><A class=link href=/blog/Default.aspx?cid= 4 >FAQs</A></div>
<div class=mbutton1><A class=link href=/blog/Default.aspx?cid= 5 >Author</A></div>
<div class=mbutton1><A class=link href=/blog/Default.aspx?cid= 6 >Resume</A></div>
<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<HTML lang="en">
	<HEAD>
		<title>Antropos Blog</title>
<?xml version="1.0" encoding="UTF-8" ?>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

		<meta http-equiv="Content-Style-Type" content="text/css">
	</HEAD>
	<body>
		<form name="Form1" method="post" action="Default.aspx" id="Form1">
<input type="hidden" name="__VIEWSTATE" value="dDwxMTY4NDI1MjgzOzs+DMMS3hbwhXJ9NPTSMONZcy97l6s=" />

			
<style type="text/css" media="screen"> 
	@import url( components/Header.css );  
</style>

<div id="mainbanerimg">
	<div id="mainbanerbg">

		<IMG src="images/h1_04.jpg" id="mainbannerpic"> 
		<IMG src="images/tag_04.jpg" id="mainbannerpic2">
	</div>
</div>

Как видите меню распечатывается в самом верху страницы, еще даже до того как были распечатаны все остальные главные тэги документа вообще.

Помогите, просто не знаю что и делать :(
...
Рейтинг: 0 / 0
05.12.2004, 11:01
    #32813335
timda
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страная проблема. Нужна помощь ...
Было бы странно если было бы иначе ;-)

поставь какой нить контрол куда ты хошь принтовать свои дивы
Label lblMyMenu;
и ему делай .Write(...) через outputwriter - не помню как точно, но смысл такой

А по уму это делается через рипитер например
ставишь в то месте где должно быть меню рипитер и делаешь ему шаблон айтема как надо

timda.ru
...
Рейтинг: 0 / 0
05.12.2004, 11:49
    #32813344
Antropos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страная проблема. Нужна помощь ...
А можно поподробнее пожалуйста или можно ссылку на статью или документацию .
...
Рейтинг: 0 / 0
05.12.2004, 12:48
    #32813368
Antropos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страная проблема. Нужна помощь ...
Все, помощи ненадо, прьблема решена.

timda

Огромное спасибо за подсказку, она мне действительно помогла.

Возможно кто-то когда-нибудь столкнется с такой же проблемой, поэтому ставлю решение.

Menu Control
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="mainmenu.ascx.cs" 
Inherits="Blog.components.mainmenu" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
<div id="mainbanerimg1">
	<div id="menubar">
		<asp:Repeater ID="ReteaterMenu" Runat="server" EnableViewState="False">
			<HeaderTemplate>
			</HeaderTemplate>
			<ItemTemplate>
				<div class="mbutton1">
					<%# DataBinder.Eval(Container.DataItem, "Menuname") %>
				</div>
			</ItemTemplate>
			<FooterTemplate>
			</FooterTemplate>
		</asp:Repeater>
	</div>
</div>

И код к этому:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private void BuildMenu()
{
	string mainMenu = "";
	ArrayList values = new ArrayList();
	NewSql.GetCategories(ref MenuSet);
			
	foreach(System.Data.DataRow row in MenuSet.Tables["blog_category"].Rows)
	{
		mainMenu = "<A class=link href=/blog/Default.aspx?cid=" 
+ row["category_id"].ToString() + ">";
		mainMenu = mainMenu + row["category_name"].ToString();
		mainMenu = mainMenu + "</A>";
		values.Add(new PositionData(mainMenu));
	}
	ReteaterMenu.DataSource = values;
	ReteaterMenu.DataBind();
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class PositionData
{
	private string Menuname;
	public PositionData(string name)
	{
		this.Menuname = name;
	}

	public string MenuName 
	{
		get 
		{
			return Menuname;
		}
	}
}
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Страная проблема. Нужна помощь ... / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]