HTML доступ к значению переменной из кода C # позади - PullRequest
1 голос
/ 14 марта 2011

Я пытаюсь получить доступ к значению из кода, чтобы создать строку запроса. Это самый простой способ, о котором я думал, но если у вас, ребята, есть какие-либо рекомендации, пожалуйста, не стесняйтесь высказывать свои мысли:

У меня есть эта ссылка, которая генерирует строку запроса и запускает лайтбокс, чтобы показать страницу перед главной страницей:

<a id="link" runat="server" href="thepage.aspx?id=<%strtest%>">Show the page with strtest</a>

Код:

public string strtest = "";
:
string strTestID = Request.QueryString["ID"].ToString();
:
strtest = strTestID ;

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

thepage.aspx?id=<%strtest%>

Итак, как я уже сказал, я сделал самый простой способ, о котором могу думать. Я также думал о реализации JavaScript с этим

string jsString= "changeLink('" + strtest  + "');";

Но это дало бы мне ошибку с моими параметрами, что, кстати, странно, так как работает без него.

Так что да, любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 14 марта 2011

Вы видите это поведение из-за атрибута 'runat = "server"' в теге привязки. Удалите атрибут, и значение будет отображаться правильно. Также вам нужно изменить код с <% strtest%> на <% = strtest%>

2 голосов
/ 14 марта 2011

Я думаю, что вы хотите:

<a id="link" href="thepage.aspx?id=<%=strtest%>">Show the page with strtest</a>

В asp.net 4 это предпочтительно:

<a id="link" href="thepage.aspx?id=<%:strtest%>">Show the page with strtest</a>

Эта форма выполняет автоматическое кодирование для предотвращения XSS и других атак.

...