Утренний стекопоток,
У меня есть повторитель со следующим кодом на моей странице aspx;
<asp:Repeater ID="Contactinforepeater" runat="server">
<HeaderTemplate>
<h1>Contact Information</h1>
</HeaderTemplate>
<ItemTemplate>
<table width="50%">
<tr>
<td colspan="2"><%#Container.DataItem("position")%></td>
</tr>
<tr>
<td>Name:</td>
<td><%#Container.DataItem("surname")%></td>
</tr>
<tr>
<td>Telephone:</td>
<td><%#Container.DataItem("telephone")%></td>
</tr>
<tr>
<td>Fax:</td>
<td><%#Container.DataItem("fax")%></td>
</tr>
<tr>
<td>Email:</td>
<td><%#Container.DataItem("email")%></td>
</tr>
</table>
</ItemTemplate>
<SeparatorTemplate>
<br /><hr /><br />
</SeparatorTemplate>
</asp:Repeater>
Тогда у меня есть этот код в моем aspx.vb для получения данных;
If did = 0 Then
s = "sql works on db server"
x = New SqlCommand(s, c)
x.Parameters.Add("@contentid", Data.SqlDbType.Int)
x.Parameters("@contentid").Value = contentid
c.Open()
r = x.ExecuteReader
r.Read()
Contactinforepeater.DataSource = r
Contactinforepeater.DataBind()
End If
c.Close()
r.Close()
If Not did = 0 Then
s = "sql works on db server"
x = New SqlCommand(s, c)
x.Parameters.Add("@contentid", SqlDbType.Int)
x.Parameters("@contentid").Value = contentid
x.Parameters.Add("@did", SqlDbType.Int)
x.Parameters("@did").Value = did
c.Open()
r = x.ExecuteReader
r.Read()
Contactinforepeater.DataSource = r
Contactinforepeater.DataBind()
End If
r.Close()
c.Close()
Если 'did' равен или не равен '0', я все равно не получаю данных, выводимых на страницу. Я просто получаю заголовок h1 «контактная информация» из шаблона заголовка.
Я проверил значение s в sqlsms, и оно отлично работает. Должность, фамилия, телефон, факс, электронная почта все существуют в БД. Конкретная страница, которую я проверяю, существует и содержит 1 набор контактных данных.
Куда я иду не так?
Спасибо!
пс. Мой синтаксис выглядит правильным?
имп. Я также открыт для разных способов достижения одного и того же результата. Я пытался через sqldatasource, но столкнулся с проблемами при использовании переменных в качестве параметров (нет возможности выбрать их, только элементы управления, строка запроса и т. Д.)