powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Disallows late binding
8 сообщений из 8, страница 1 из 1
Disallows late binding
    #33135534
saszay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть функция, которая вызывается из Repeater (привожу часть её):
Код: plaintext
1.
2.
3.
Function RP_ItemBound_Url(ByVal Cnt As Object) As String
If CDec(Cnt.DataItem("schlID")) <>  0  Then
    Return ("<a href=View.aspx?schlID=" & CStr(Cnt.DataItem("schlID"))" & CStr(Cnt.DataItem("plSum")) & "</a>")
 End If

При включении опции
Код: plaintext
Option Strict On
компилятор ругается на строчки с объектом Cnt как
Код: plaintext
 Option Strict On disallows late binding. 

Как правильно нужно записать?
...
Рейтинг: 0 / 0
Disallows late binding
    #33139787
прежде хотелось бы увидеть участок кода с вызовом этой функции
...
Рейтинг: 0 / 0
Disallows late binding
    #33141097
saszay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<asp:Repeater ID="RP_View" Runat="server" EnableViewState="False" Visible="False">
<HeaderTemplate>
<table cellspacing="1"></HeaderTemplate>
 <ItemTemplate>
<tr>
    <td align="center"><%#Container.ItemIndex+ 1 %></td>
    <td align="center"><%#RP_ItemBound_Url(Container)%></td></tr>
</ItemTemplate>
<FooterTemplate>
</table><br>
</FooterTemplate>
</asp:Repeater>
...
Рейтинг: 0 / 0
Disallows late binding
    #33148174
можно поступить по-простому используя DataBinder например так:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<td align="center"><%#RP_ItemBound_Url(Container.DataItem)%></td></tr>


Function RP_ItemBound_Url(ByVal Cnt As Object) As String
	Dim schlId As Decimal = CDec(DataBinder.Eval(Cnt, "schlID"))
	If schlId <>  0  Then
		Return String.Format("<a href=""View.aspx?schlID={0}"">{1}</a>", schlId, DataBinder.Eval(Cnt, "plSum"))
	End If
End Function

...
Рейтинг: 0 / 0
Disallows late binding
    #33158718
saszay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, помогло!!!

А как вот с этим бороться?:
Код: plaintext
1.
2.
3.
4.
5.
Option Strict On disallows late binding.
<ItemTemplate>
Line  31 : <tr>
Line  32 : <td align="center"><%#Day(Container.DataItem("Sum"))%></td>
Line  33 : <td align="right" colspan="2"><%#Container.DataItem("ID")%></td></tr>
Line  34 : </ItemTemplate>

Ругается пока только на 32 строку, но возможно и в 33 есть ошибка.
Вызывается это из:
Код: plaintext
<asp:Repeater ID="RP_List" Runat="server">
...
Рейтинг: 0 / 0
Disallows late binding
    #33159309
Container.DataItem это некий Object у которого нет никакого дефалтового индексного метода его нужно привести к соответствующему типу...

Простое решение: используйте DataBinder

<%# DataBinder.Eval(Container.DataItem, "Имя свойства") %>
<%# DataBinder.Eval(Container.DataItem, "Имя свойства", "Строка форматирования") %>

Документация рулит
...
Рейтинг: 0 / 0
Disallows late binding
    #33159383
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ /topic/187617&hl=#1576784
...
Рейтинг: 0 / 0
Disallows late binding
    #33159553
saszay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО!!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Disallows late binding
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]