У меня небольшие проблемы с использованием элемента управления asp.net:hyperlink.

<asp:HyperLink ID="someId" runat="server" NavigateUrl="pages/somepage.aspx?language=<%=CurrentLanguageNo%>"></asp:HyperLink>

Результирующий URL-адрес выглядит следующим образом

http://localhost/web/standard/pages/somepage.aspx?language=<%=CurrentLanguageNo%>

Но, очевидно, я не хочу, чтобы это было буквально <% = CurrentLanguageNo%>, а скорее значение переменной.

0
Greg 15 Авг 2014 в 18:03

1 ответ

Лучший ответ

Это потому, что вам нужно указать весь NavigateUrl в <% =%>

Итак, у вас есть 2 варианта (на самом деле их намного больше, но давайте не будем терять время):

NavigateUrl='<%= "pages/somepage.aspx?language=" + CurrentLanguageNo%>'

Или вы помещаете сразу всю строку в переменную CurrentLanguageNo

Другой вариант - сохранить NavigateUrl = "pages / somepage.aspx? Language =", а затем добавить в код позади CurrentLanguageNo

objLink.NavigateUrl += CurrentLanguageNo;

Если вы используете VB.NET, не забудьте заменить + на &

1
SeraphimFoA 15 Авг 2014 в 18:10
Это здорово, спасибо, SeraphnimFoA, я использовал предложенный вами метод кода.
 – 
user2928010
18 Авг 2014 в 14:57
Если вы это сделаете, убедитесь, что вы не добавляете язык к ссылке более одного раза.
 – 
SeraphimFoA
18 Авг 2014 в 16:21