2014-12-08 3 views
0

У меня уже есть DataList:Как передать значение из asp.net datalist в текстовое поле javascript?

<asp:DataList ID="dlIndex" runat="server" Width="61%" Height="83px">  
     <ItemTemplate> 
       <td style="text-align: center; padding-right: 0px; width: 50px;"> 
        <asp:Label ID="Adress" runat="server" Text='<%# Eval("artikli_na_skladistu.skladista.Adresa")%>'></asp:Label> 
       </td>     
     </ItemTemplate> 
</asp:DataList> 

Теперь я хочу, чтобы передать значение метки на яваскрипта текстовое поле, скажем ...

<input type="text" id="fname" value=""> 

document.getElementById("fname").value = getVal(); 

function getVal() { 
     ??? 
} 

Так что, когда я бегу на веб-сайте, Я хочу увидеть значение метки данных в текстовом поле javascript ... Как это сделать?

Спасибо,

ответ

0

Вы еще не задумали свое решение. Если у вас есть только один элемент, почему вы используете DataList? Вы должны напрямую связываться в разметке, используя <%=MyObject.artikli_na_skladistu.skladista.Adresa%>. Если у вас есть несколько элементов в вашем DataList, как вы собираетесь выяснить, какой из них показывать?

+0

Существует больше, но я хочу этого особо. var foo = document.getElementById ("<% = dlIndex.artikli_na_skladistu.skladista.Adresa%>"); похоже, не работает, он ничего не узнает после «dlIndex». –

+0

И var foo = document.getElementById ("<% = dlIndex.ClientID%>"); дает мне «неопределенный» –

+0

У вас есть серверный объект (класс или что-то еще), у которого есть данные, и вы привязываете их к элементу управления, который действует как повторитель для многих экземпляров объекта. Вы говорите, что вам нужен только один из этих объектов. Либо найдите способ создания уникального идентификатора или селектора для одного ярлыка, который вы хотите, чтобы вы могли выбрать его с помощью Javascript, или полностью прекратить использование DataList и получить один экземпляр данных, который вам нужен на стороне сервера, и выставить его в разметки. Вы можете просто сделать document.getElementById ("fname"). Value = <% myInstance.artikli_na_skladistu.skladista.Adresa%> – moarboilerplate

0

Я нашел решение ... это очень, очень некрасиво, но это работает (для меня) ::

Так, в DataList ... Метка (s) была asp.net этикетки (s) ... Я изменить Javascript этикетки, например, так:

<asp:DataList ID="dlIndex" runat="server" Width="61%" Height="83px">  
     <ItemTemplate> 
      <label id="Adresa"><%# Eval("artikli_na_skladistu.skladista.Adresa") %></label> 
     </ItemTemplate> 
</asp:DataList> 

и потом, я просто должен был назвать его в JavaScript:

<script type = "text/javascript"> 
     var url = "/Something.aspx?val=" + document.getElementById("Adresa").textContent; 
</script> 

Я действительно новичок в JavaScript ... поэтому это действительно работает для меня ... Спасибо t o все, кто ответил: D

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