2013-12-18 3 views
2

У меня есть страница .ascx, где я должен отображать карту.Передача данных в <href > тег в пределах <area> тег через код за

<img width="550" height="296" usemap="#Map" alt="" src="~/map_international.jpg"> 
<map name="Map"> 
    <area shape="poly" coords="230,84,233,81,236,77,240,74,244,73,247,73,251,76,254,80,258,82,261,83,265,85,269,88,273,87,271,82,273,78,278,75,278,71,281,67,284,70,287,71,291,71,296,73,303,73,306,69,302,62,306,58,312,58,318,58,322,57,322,51,320,46,318,40,319,35,319,31,312,30,308,30,304,30,298,31,292,33,289,33,287,31,279,29,273,27,266,27,259,28,254,33,249,38,244,40,243,44,246,46,249,46,247,50,245,55,241,57,237,58,234,54,231,50,227,47,225,50,221,52,219,57,223,59,228,60,230,64,230,69,229,72,225,73,220,73,218,77,218,82,219,85,223,85,228,85" 
     href="<%# navigationURL+"id?=12" %>" alt="Europe" title="Europe" > 
</map> 

navigationURL имеет путь к приложению, где я присвоенное значение для него в .cs (код позади)

Все, что я хочу, когда я нажимаю на эту область на карте должна перемещаться по данному пути в HREF. Однако, когда я проверяю элемент для этой области, значение href устанавливается пустым. , но если я жестко закодирую значение в href="www.google.com", он перейдет на страницу Google. Но я не могу передать данные из кода за файл

ответ

0

Не уверен, что вы пытаетесь сделать, потому что ваш код, как и набрана даже не загружать страницу, поскольку она недействительна. Кажется, вы пытаетесь использовать общедоступную строку с именем navigationURL для установки в качестве href. Так что ваш код позади будет иметь что-то вроде:

public string navigationURL { get; set; } 
protected void Page_Load(object sender, EventArgs e) 
{ 
    navigationURL = "someURL?id=12"; 
} 

, а затем ваш HREF должен выглядеть следующим образом:

href="<%= navigationURL %>" 

Хотя это может быть легче пропустить переменную navigationURL и установить HREF из кода позади. Предполагает добавление id, а runat="server" и закрывающий тег на area:

<area shape="poly" coords="230,84,233,81,236,77,240,74,244,73,247,73,251,76,254,80,258,82,261,83,265,85,269,88,273,87,271,82,273,78,278,75,278,71,281,67,284,70,287,71,291,71,296,73,303,73,306,69,302,62,306,58,312,58,318,58,322,57,322,51,320,46,318,40,319,35,319,31,312,30,308,30,304,30,298,31,292,33,289,33,287,31,279,29,273,27,266,27,259,28,254,33,249,38,244,40,243,44,246,46,249,46,247,50,245,55,241,57,237,58,234,54,231,50,227,47,225,50,221,52,219,57,223,59,228,60,230,64,230,69,229,72,225,73,220,73,218,77,218,82,219,85,223,85,228,85" 
    id="_area" runat="server" alt="Europe" title="Europe" /> 

Затем в коде позади, установите URL

_area.Attributes["href"] = "SomeGreatURL"; 
+0

спасибо. Я попробую это. Однако моя страница загружается. Я устанавливаю navigationURL в коде позади. но id для него, я устанавливаю файл .ascx. – skb

+0

Хорошо. Тогда это должно быть что-то вроде 'href =" <% = navigationURL%>? Id = 12 "'. – MikeSmithDev

+0

href = "<% # this.navigationURL +"? ArticleID = "+ DataBinder.Eval (Container.DataItem," Value ")%>"> где значение из моего кода за – skb

0

Попробуйте это:

$(document).ready(function(){ 
    $("#a").click(function(){ 
     var href = $(this).next("area").attr("linkto"); 
     alert(href); 
    }); 
}); 

Живой пример: http://jsfiddle.net/NE9b7/

Смежные вопросы