2016-06-03 5 views
0

У меня есть простая страница с ретранслятором, содержащим единый пользовательский элемент управления. Пользовательский элемент управления имеет 3 свойства, цену, количество и имя элемента, все из которых связаны с источником linqData. Идея состоит в том, что пользователь вводит количество в текстовом поле, которое затем запускает javascript, чтобы обновить элемент управления меткой с суммой для этой строки в ретрансляторе. Сценарий запускается без проблем и выполняет математику без проблем, проблема в том, что она не обновляет метку asp: label с помощью новой подсчитанной общей суммы.Javascript для обновления метки asp внутри репитера

Вот код для пользовательского элемента управления

<div class="row"> 
    <div class="large-6 columns"> 
     <asp:Label runat="server" ID="productName">product name</asp:Label> 
    </div> 
    <div class="large-1 columns"> 
     <asp:Label runat="server" ID="productPrice" Text="$0.00"></asp:Label> 
    </div> 
    <div class="large-1 columns"> 
     <telerik:RadTextBox ID="qty" runat="server" Width="100%"> 
      <ClientEvents OnValueChanged="updateLine" /> 

     </telerik:RadTextBox> 
    </div> 
    <div class="large-1 columns"> 
     <asp:Label runat="server" ID="lblTotal"></asp:Label> 
    </div> 
    <div class="large-1 columns"> 
    </div> 
    <div class="large-2 columns"> 
    </div> 
</div> 
<script type="text/javascript"> 
    function updateLine(sender, args) { 
     var vBox = $find('<%=qty.ClientID %>'); 
     var pBox = document.getElementById('<%=productPrice.ClientID%>'); 
     var newLineTotal = sender.get_value() * pBox.innerText; 
     document.getElementById('<%=lblTotal.ClientID%>').textContent = newLineTotal; 
      } 
</script> 

Я попытался .textContent, .innerHTML, .Value и .innerText атрибуты метки в моей JavaScript, но ни один из тех, кто установит значение. Предупреждение работает нормально и отображает правильно рассчитанную сумму.

Любая помощь была бы принята с благодарностью. Я просто не могу обмотать голову вокруг этого.

Thank you.

ответ

0

попробовать только используя идентификатор метки, как этот

document.getElementById('lblTotal').innerText 
+0

Это не будет работать, потому что не будет ни одного элемента с этим именем на странице во время выполнения. Однако, только для хихиканья я сделал это, и это просто приводит к неопределенной ошибке. –