powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не выполняется код
35 сообщений из 35, показаны все 2 страниц
Не выполняется код
    #33449355
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть следующий кусок кода:
Код: plaintext
1.
2.
3.
4.
5.
...
<html>
<%# cmm.SetTemplate( 1 ) %>
<body>
...
Задача - подключить к коду страницы код заголовка и вставить его в этом месте. Этот кусок видел на другом сайте, который разрабатывал не я и там всё работает, а у меня в функцию даже не заходит, я брейкпоинт ставил. Может я где чего недописал (опять)? Объект cmm видится прекрасно, находится в общем namespace, функция, как я понял, должна возвращать строку с кодом (что она и делает), в данном случае (для примера) - дописывать заголовок страницы. Но не хочет...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449391
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прям так "<%#" и видел? начни с удаления диеза

с уважением...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449398
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или замени его на "=" (знак равно), <%= -- Response.Write

с уважением...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449424
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sam Andrewsпрям так "<%#" и видел?
Именно так.

Там, откуда я это брал, так и было написано. Возвращала эта функция просто
<head>\r\n\t<title>Заголовок страницы</title>\r\n\t<LINK href=\..... и так далее.

А может есть другие способы сделать то же самое? Научите, пжалста...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449429
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удалять диез попробовал. Попросил точку с запятой. Я поставил - и ничего, те же яйца, только в профиль...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449443
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все-таки попробовать так
Код: plaintext
<%= cmm.SetTemplate( 1 ) %>

авторА может есть другие способы сделать то же самое? Научите, пжалста...
пожалуй стоит начать с изучения понятия code-behind

с уважением...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449453
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто работающий пример:
В HTML пишем:
Код: plaintext
1.
2.
3.
<title>
	<%#title%>
</title>

В Codebehind объявляем и инициализируем:
Код: plaintext
1.
protected string title = "Any title you can figure out";
...
Рейтинг: 0 / 0
Не выполняется код
    #33449457
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот точно так и работает (точнее, не работает) эта функция
...
Рейтинг: 0 / 0
Не выполняется код
    #33449508
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пропишите полный путь к cmm.SetTemplate в вашем solution.
...
Рейтинг: 0 / 0
Не выполняется код
    #33449535
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите меня за мою глупость, но где именно прописать? Я ж ещё новичок в этом деле. Кстати, сама функция находится в другом файле, в папке App_Code.
...
Рейтинг: 0 / 0
Не выполняется код
    #33449552
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AxeleronПросто работающий пример:
В HTML пишем:
Код: plaintext
1.
2.
3.
<title>
	<%#title%>
</title>

В Codebehind объявляем и инициализируем:
Код: plaintext
1.
protected string title = "Any title you can figure out";

Не знаю, что у меня не так, но даже это не работает, специально создавал новый тестовый проект :(
...
Рейтинг: 0 / 0
Не выполняется код
    #33449566
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут:
Код: plaintext
1.
2.
3.
<html>
<%# cmm.SetTemplate( 1 ) %>
<body>
cmm у вас, видимо, название класса, в котором и находится ваш метод cmm. Потому попробуйте прописать полный путь к этому методу, начиная с названия проекта, где он находится. Должно помочь.
Например:
Код: plaintext
1.
2.
3.
<html>
<%# projectName.folderName.subFolderName.className.methodName( 1 ) %>
<body>
...
Рейтинг: 0 / 0
Не выполняется код
    #33449579
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибся, вместо:
Axeleron
cmm у вас, видимо, название класса, в котором и находится ваш метод cmm

надо
Axeleron
cmm у вас, видимо, название класса, в котором и находится ваш метод SetTemplate
...
Рейтинг: 0 / 0
Не выполняется код
    #33449609
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronПотому попробуйте прописать полный путь к этому методу, начиная с названия проекта, где он находится. Должно помочь.
Например:
Код: plaintext
1.
2.
3.
<html>
<%# projectName.folderName.subFolderName.className.methodName( 1 ) %>
<body>

это что это за метод такой? полное имя состоит из неймспейсов, имени класса и метода (условно)...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449632
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это всё, конечно, хорошо, но дело-то не в этом. Если бы класс или метод был бы не найден, то я бы увидел матюки, правильно? Но в том-то и дело, что и класс видится (курсор на него навожу - показывает что и откуда, т.е. все нормально), и метод, просто по каким-то непонятным мне причинам код метода пропускается. Я ж говорю, даже пример с переменной title - и тот не работает.

Так что там про "прописать путь в solution"?
...
Рейтинг: 0 / 0
Не выполняется код
    #33449659
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и не будет работать, надо так
Код: plaintext
1.
2.
<title>
	<%=title%>
</title>
что за конструкция с диезом?

с уважением...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449671
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sam Andrewsэто что это за метод такой? полное имя состоит из неймспейсов, имени класса и метода (условно)...
Пытался простым языком человеку объяснить как определить месторасположение класса с методом в solution. Не нужно цепляться к словам.

Ньюб, приведите верхнюю часть html кода вплоть до
Код: plaintext
1.
2.
3.
<html>
<%# cmm.SetTemplate( 1 ) %>
<body>
, а заодно код метода SetTemplate.
...
Рейтинг: 0 / 0
Не выполняется код
    #33449677
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sam Andrews, всё работает, данная страница из данного примера в продкшене. ;)
...
Рейтинг: 0 / 0
Не выполняется код
    #33449686
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, можно и так
Код: plaintext
<%=title%>
, но в силу определённых обстоятельств (ограничений) пришлось пользовать # вместо =. В обычной ситуации работают оба варианта.
...
Рейтинг: 0 / 0
Не выполняется код
    #33449700
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronSam Andrews, всё работает, данная страница из данного примера в продкшене. ;)
проект небось на 2.0, я угадал?
...
Рейтинг: 0 / 0
Не выполняется код
    #33449713
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файл index.aspx
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<%@ Page Language="C#" CodeFile="index.aspx.cs" Inherits="MyProj.index" CodeFileBaseClass="MyProj.parent_page"%>

<html>
<%# cmm.SetTemplate( 1 ) %>
<body>
    <form id="form1" runat="server">
...
Файл index.aspx.cs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
namespace MyProj
{
    public partial class index : System.Web.UI.Page
    {
        public Common cmm = new Common();
        ...
    }
}
Файл Common.cs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
namespace MyProj
{
    public class Common
    {
        ...
        public string SetTemplate(int p)
        {
            //упрощённый вариант
            string ret = "";
            ret = "<head><title>.: Index Page :.</title></head>";
            return ret;
        }
    }
}
...
Рейтинг: 0 / 0
Не выполняется код
    #33449714
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, обычная VS 2003 с Framework 1.1.
...
Рейтинг: 0 / 0
Не выполняется код
    #33449729
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очепятка: в файле index.aspx.cs вместо System.Web.UI.Page надо parent_page
...
Рейтинг: 0 / 0
Не выполняется код
    #33449730
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот у Ньюб, кажись, 2.0 с VS2005, угадал? :-))
...
Рейтинг: 0 / 0
Не выполняется код
    #33449733
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AxeleronА вот у Ньюб, кажись, 2.0 с VS2005, угадал? :-))
Именно так.
...
Рейтинг: 0 / 0
Не выполняется код
    #33449812
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronНет, обычная VS 2003 с Framework 1.1.
только что проверил, не работает, что здесь не так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<%@ Page language="c#" Codebehind="index.aspx.cs" AutoEventWireup="false" Inherits="test.index" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<html>
  <head>
    <title><%#title%></title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">
    </form>
  </body>
</html>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
using System;

namespace test
{
	public class index : System.Web.UI.Page
	{
		protected string title = "test title";

		private void Page_Load(object sender, System.EventArgs e)
		{
		}

		override protected void OnInit(EventArgs e)
		{
			InitializeComponent();
			base.OnInit(e);
		}

		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);
		}
	}
}
...
Рейтинг: 0 / 0
Не выполняется код
    #33449820
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sam Andrews только что проверил, не работает, что здесь не так?
Я в 2005й не проверял, потому не гарантирую работу этого кода в ней.
А автору топика следовало бы сразу оговориться, что пишет на 2К5, ибо пока не стандарт она ещё.
...
Рейтинг: 0 / 0
Не выполняется код
    #33449834
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ньюб, ну если ты не силён в ASP.NET зачем так усложняешь задачу?
Начинай разбор с простого - сделай в кодебехайнд той же страницы (или в без кодбехайнд - прямо в странице) функцию (простую, возвращающую строку нужную тебе) и, пытайся её вставить в нужное место страницы - постепенно усложняй задачу... всё получиться...
ASP.NET 2.0
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
         
    Protected Function SetHead()
        Dim m As String = ".:Mypage:."
        Return m
    End Function
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
   <title><%=SetHead()%></title>
<script language="javascript" type="text/javascript">
// <!CDATA[
......
......
прекрасно работает...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449851
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AxeleronЯ в 2005й не проверял, потому не гарантирую работу этого кода в ней.
это было написано в 2003 под 1.1, к 2005/2.0 притензий нет, там есть конструкция <%#, хотя в 1.1 ошибку и не кидает, но и не отрабатывает

вот мне и интересно, как оно у вас там работает =)
...
Рейтинг: 0 / 0
Не выполняется код
    #33449860
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sam Andrews вот мне и интересно, как оно у вас там работает =)
Чудом... Чудом! Сам удивляюсь :-)
...
Рейтинг: 0 / 0
Не выполняется код
    #33449882
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот и я удивляюсь. У всех работает - у меня не работает. vladgrig , спасибо за пример, но результат тот же. Главное дело, проект, из которого я это взял, работает на ура. Я и брейкпоинт внутри метода поставил - заходит, всё путём. А вот в моём проекте не заходит. Наверное я граблей не вижу, потому что стою на них...
...
Рейтинг: 0 / 0
Не выполняется код
    #33449916
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё! Не знаю, каким макаром, но написал в <%#cmm.SetTemplate(1) %> вместо шарпа "=" и заработало. Неужели вмешательство высших сил? :) Всем спасибо за внимание и поддержку. Ура, товарищи!
...
Рейтинг: 0 / 0
Не выполняется код
    #33449962
Фотография Sam Andrews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НьюбНеужели вмешательство высших сил? :)
может все-таки стоит советы внимательнее читать...=)
...
Рейтинг: 0 / 0
Не выполняется код
    #33449995
Ньюб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sam Andrews НьюбНеужели вмешательство высших сил? :)
может все-таки стоит советы внимательнее читать...=)
Это я читал внимательно и даже пробовал, но всё равно не работало. А тут написал то же самое - и на тебе. Так что тут точно что-то не то...
...
Рейтинг: 0 / 0
Не выполняется код
    #33450172
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ньюб Так что тут точно что-то не то...
Новый Год на носу, вот нечистая сила и активизировалась! ;-)
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не выполняется код
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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