Перейти к содержимому


Фотография
- - - - -

C# web forms


  • Пожалуйста, авторизуйтесь, чтобы ответить
5 ответов в этой теме

#1 Evgen

Evgen

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 3 430 сообщений
502
Очень хороший
  • Пол:Мужчина
  • Город:Пр. М. Жукова 33

Опубликовано 18 Ноябрь 2013 - 13:46

Все привет. Ни как не могу догадаться, как передать переменную в html часть.
Напр. имею следующий код:

            string dbsource = Server.MapPath(ConfigurationManager.AppSettings["dbsource"]);
            OleDbConnection myConn = new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + dbsource);
            string GetNetwork = "SELECT network, mask FROM Network WHERE ssm_id = 23;";
            OleDbCommand myGetNetwork = new OleDbCommand(GetNetwork, myConn);
            string[] Network = (string[])myGetNetwork.ExecuteScalar();
            myConn.Close();

как переменную Network передать в html?

<%# Network[0] %>

Не работает
  • 0
Размещенное изображение
Размещенное изображение

#2 key

key

    -=SunKain=-

  • True Members
  • PipPipPipPipPip
  • 2 489 сообщений
12
Обычный
  • Пол:Мужчина
  • Город:Аден

Опубликовано 18 Ноябрь 2013 - 16:12

тебе в разметке нужно создать либо asp:Literal, либо asp:Label, либо еще какой-либо текстовый контрол в зависимости от нужд.
Потом Network[0] присвоить свойству Text, либого из перечисленных контролов. Хотя, конечно, это только один способ.
Чтобы была возможность ипользовать <%# Network[0] %> такой код, нужно, что у тебя на серваке было protected свойство одноименное, которое бы на PreRender страницы заполнялось.


З.Ы:
попробуй все же обернуть вот это string[] Network = (string[])myGetNetwork.ExecuteScalar(); проверками, чтобы не было исключений.
вместо не следуют так работать с конекшеном, лучше оберни использование OleDbConnection в блок using


и вообще веб-формы - зло!! :) испольузй ASP.NET MVC

Сообщение изменено: key, 18 Ноябрь 2013 - 16:16.

  • 0
Mess with the best
Die like the rest

Размещенное изображение

Пуля производит удивительные изменеия в голове, даже если она попала в задницу.
(С) Лукьяненко "Черновик"

Conseal nohing.
And watch the fools searching forever.

#3 Evgen

Evgen

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 3 430 сообщений
502
Очень хороший
  • Пол:Мужчина
  • Город:Пр. М. Жукова 33

Опубликовано 18 Ноябрь 2013 - 19:30

key, другую переменную делал литералом, потому что label вставляет свои не нужные html метки. Да и литерал не красиво смотриться
<a href="Device.aspx?id=<asp:ltlID ID="ltlID" runat="server"></asp:Literal>">Добавить устройство</a>

mvc к сожалению нальзя здесь использовать =(
  • 0
Размещенное изображение
Размещенное изображение

#4 key

key

    -=SunKain=-

  • True Members
  • PipPipPipPipPip
  • 2 489 сообщений
12
Обычный
  • Пол:Мужчина
  • Город:Аден

Опубликовано 18 Ноябрь 2013 - 20:39

key, другую переменную делал литералом, потому что label вставляет свои не нужные html метки. Да и литерал не красиво смотриться

<a href="Device.aspx?id=<asp:ltlID ID="ltlID" runat="server"></asp:Literal>">Добавить устройство</a>

mvc к сожалению нальзя здесь использовать =(


<asp:HyperLink runat="server" NavigateUrl="Devices.aspx?id=<%# Network %>"></asp:HyperLink>

только не забудьд, что Network должна быть protected пропертей класса
  • 0
Mess with the best
Die like the rest

Размещенное изображение

Пуля производит удивительные изменеия в голове, даже если она попала в задницу.
(С) Лукьяненко "Черновик"

Conseal nohing.
And watch the fools searching forever.

#5 Evgen

Evgen

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 3 430 сообщений
502
Очень хороший
  • Пол:Мужчина
  • Город:Пр. М. Жукова 33

Опубликовано 19 Ноябрь 2013 - 19:33

<asp:HyperLink runat="server" NavigateUrl="Devices.aspx?id=<%# Network %>"></asp:HyperLink>

только не забудьд, что Network должна быть protected пропертей класса


Все равно, что-то не то...
    public partial class test : System.Web.UI.Page
    {
        protected String QS = "";

        protected void Page_Load(object sender, EventArgs e)
        {
            QS = "This is a test string";
        }
    }

Не хочет...

<%#QS %>

+= тоже не помогает
  • 0
Размещенное изображение
Размещенное изображение

#6 Evgen

Evgen

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 3 430 сообщений
502
Очень хороший
  • Пол:Мужчина
  • Город:Пр. М. Жукова 33

Опубликовано 20 Ноябрь 2013 - 10:14

Хотя, если добавить

Page.DataBind();

Все ок
  • 0
Размещенное изображение
Размещенное изображение


Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей