Передача данных базы данных через привязочный тег в ASP.NET

#c# #asp.net #repeater

#c# #asp.net #повторитель

Вопрос:

Я использую таблицу внутри повторителя. В принципе, я хочу передать, чтобы передать данные из источника данных SQL и передать их функции на стороне сервера, используя привязочный тег.

         <td>
            <%# Eval("Quantity")%>  in stock<br />
            <input class="textbox" maxlength="2" name="Quantity" size="2" type="text" 
                value="1" />
                <br />

                         <div class="buttons">
                            <a id="A1" class="positive" runat="server" onserverclick="addtocart(<%# Eval("ProductDescriptionId")%>,<%# Eval("Quantity")%>
                                Add to Cart
                            </a>
                            </div>
  

Именно по этой гиперссылке я хочу передать параметры.

 <a id="A1" class="positive" runat="server" onserverclick="addtocart(<%# Eval("ProductDescriptionId")%>,<%# Eval("Quantity")%>Add to Cart</a>
  

Комментарии:

1. Что теперь отображается? Похоже, что ссылка неправильно отформатирована.

2. да, он неправильно отформатирован. Тег сервера сформирован неправильно.

3. Вы пропускаете )"> в конце ссылки

4. можете ли вы просто попробовать вот так onserverclick=»addtocart(<%# Eval(‘ProductDescriptionId’)%>,<%# Eval(‘Quantity’)%>)»

Ответ №1:

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

 <a id="A1" 
     class="positive" 
     runat="server" 
     onserverclick='addtocart(<%# Eval("ProductDescriptionId")%>,<%# Eval("Quantity")%>)'>
  Add to Cart
</a>
  

Комментарии:

1. извините, это была опечатка .. тег сервера сформирован неправильно …. что означает, что что-то не так

2. В таком случае, я думаю, это потому, что вы заключаете выражение в " , в то время как само выражение содержит " . Обычно это проблема. Вместо этого используйте ' для вложения выражения.

3. я получаю эту ошибку CS1040: директивы препроцессора должны отображаться как первый непробельный символ в строке

4. Используете ли вы элемент управления с привязкой к базе данных? Вы не можете использовать, <%# .. %> если вы не находитесь внутри ItemTemplate элемента управления, связанного с базой данных, такого как Repeater или GridView .