Я пытаюсь передать идентификатор активности (RefNum) в Sub в моем коде. Я знаю, что я должен использовать круглые скобки при передаче параметров подпрограммам и методам, и я пробовал несколько способов и продолжаю получать следующую ошибку:Параметр доступа к подпрограмме в Codebehind
BC30203: Идентификатор ожидается.
Я жестко программирую его на интерфейсе, чтобы попытаться передать его [OnDataBound = "FillSectorCBList (" "" WK.002 "" ")"], но это явно неправильно. :(
Фронтальный:
<asp:DetailsView ID="dvEditActivity" AutoGenerateRows="False" DataKeyNames="RefNum" OnDataBound="dvSectorID_DataBound" OnItemUpdated="dvEditActivity_ItemUpdated" DataSourceID="dsEditActivity" >
<Fields>
<asp:TemplateField>
<ItemTemplate>
<br /><span style="color:#0e85c1;font-weight:bold">Sector</span><br /><br />
<asp:CheckBoxList ID="cblistSector" runat="server" DataSourceID="dsGetSectorNames" DataTextField="SectorName" DataValueField="SectorID" OnDataBound="FillSectorCBList("""WK.002""")" ></asp:CheckBoxList>
<%-- Datasource to populate cblistSector --%>
<asp:SqlDataSource ID="dsGetSectorNames" runat="server" ConnectionString="<%$ ConnectionStrings:dbConn %>" ProviderName="<%$ ConnectionStrings:dbConn.ProviderName %>" SelectCommand="SELECT SectorID, SectorName from Sector ORDER BY SectorID"></asp:SqlDataSource>
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
Code-за:
Sub FillSectorCBList (ByVal RefNum As String, ByVal отправителем As Object, ByVal е Как System.EventArgs) Dim SectorIDs Как Ново ListItem
Dim myConnection As String = ConfigurationManager.ConnectionStrings("dbConn").ConnectionString()
Dim objConn As New SqlConnection(myConnection)
Dim strSQL As String = "SELECT DISTINCT A.RefNum, AS1.SectorID, S.SectorName FROM Activity A LEFT OUTER JOIN Activity_Sector AS1 ON AS1.RefNum = A.RefNum LEFT OUTER JOIN Sector S ON AS1.SectorID = S.SectorID WHERE A.RefNum = @RefNum ORDER BY A.RefNum"
Dim objCommand As New SqlCommand(strSQL, objConn)
objCommand.Parameters.AddWithValue("RefNum", RefNum)
Dim ad As New SqlDataAdapter(objCommand)
Try
[Code]
Finally
[Code]
End Try
objCommand.Connection.Close()
objCommand.Dispose()
objConn.Close()
End Sub
Любой совет будет здорово. Я не уверен, если я даже правильный подход.
Спасибо!