我有一个页面与3下拉列表,第二和第三下拉列表是添加与CascadingDropDown。第三个下拉列表将从第一个和第二个下拉列表中获取参数。因此,在我从谷歌找到的CascadingDropDown的当前示例中,它们只向WebService方法传递了一个参数。如何将两个参数传递给服务方法,使我的3rd dropdownlist基于第一个和第二个dropdownlist的SelectedValue?
<WebMethod()> _
Public Function GetTeams(ByVal knownCategoryValues As String, ByVal category As String) As CascadingDropDownNameValue()
Dim strConnection As String = ConfigurationManager.ConnectionStrings("nerdlinessConnection").ConnectionString
Dim sqlConn As SqlConnection = New SqlConnection(strConnection)
Dim strTeamQuery As String = "SELECT * FROM TEAM WHERE conf_id = @confid"
Dim cmdFetchTeam As SqlCommand = New SqlCommand(strTeamQuery, sqlConn)
Dim dtrTeam As SqlDataReader
Dim kvTeam As StringDictionary = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues)
Dim intConfId As Integer
If Not kvTeam.ContainsKey("Conference") Or Not Int32.TryParse(kvTeam("Conference"), intConfId) Then
Return Nothing
End If
cmdFetchTeam.Parameters.AddWithValue("@confid", intConfId)
Dim myTeams As New List(Of CascadingDropDownNameValue)
sqlConn.Open()
dtrTeam = cmdFetchTeam.ExecuteReader
While dtrTeam.Read()
Dim strTeamName As String = dtrTeam("team_name").ToString
Dim strTeamId As String = dtrTeam("team_id").ToString
myTeams.Add(New CascadingDropDownNameValue(strTeamName, strTeamId))
End While
Return myTeams.ToArray
End Function这是我找到的示例代码!正如你在代码中看到的,'@confid‘将从第二个下拉列表中传递!那么,我该怎么修改这段代码来获得第一个下拉列表中的选定值呢??
发布于 2009-12-30 12:42:14
您指的是哪个web服务?是你自己写的东西,还是别人的网络服务?
如果它是您的two服务,请更新其中的方法定义并传递两个参数。如果是其他人的,请与相关人员联系,以了解最好的解决方案。
发布于 2009-12-30 12:42:39
看来发帖者并不是真的在问网络服务,而是在问SqlCommand和添加参数。
首先,你永远不应该像那样直接从你的web应用程序运行sql。将其放入存储过程中。
其次,您应该对传入的值运行检查,因为这是您的网站用户使用SQL injection attacks的好方法。
现在..。以下是您要查找的内容:
Dim strTeamQuery As String = "SELECT * FROM TEAM WHERE conf_id = @confid"变成了
Dim strTeamQuery As String = "SELECT * FROM TEAM WHERE conf_id = @confid AND second_id = @secondId"然后只需添加另一个:
cmdFetchTeam.Parameters.AddWithValue("@confid", intConfId)(当然,使用其他值,如下所示)
cmdFetchTeam.Parameters.AddWithValue("@confid", intConfId)
cmdFetchTeam.Parameters.AddWithValue("@secondId", intSecondId)https://stackoverflow.com/questions/1978434
复制相似问题