首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CascadingDropDown使用两个参数

CascadingDropDown使用两个参数
EN

Stack Overflow用户
提问于 2009-12-30 12:32:27
回答 2查看 1.5K关注 0票数 0

我有一个页面与3下拉列表,第二和第三下拉列表是添加与CascadingDropDown。第三个下拉列表将从第一个和第二个下拉列表中获取参数。因此,在我从谷歌找到的CascadingDropDown的当前示例中,它们只向WebService方法传递了一个参数。如何将两个参数传递给服务方法,使我的3rd dropdownlist基于第一个和第二个dropdownlist的SelectedValue?

代码语言:javascript
复制
<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‘将从第二个下拉列表中传递!那么,我该怎么修改这段代码来获得第一个下拉列表中的选定值呢??

EN

回答 2

Stack Overflow用户

发布于 2009-12-30 12:42:14

您指的是哪个web服务?是你自己写的东西,还是别人的网络服务?

如果它是您的two服务,请更新其中的方法定义并传递两个参数。如果是其他人的,请与相关人员联系,以了解最好的解决方案。

票数 0
EN

Stack Overflow用户

发布于 2009-12-30 12:42:39

看来发帖者并不是真的在问网络服务,而是在问SqlCommand和添加参数。

首先,你永远不应该像那样直接从你的web应用程序运行sql。将其放入存储过程中。

其次,您应该对传入的值运行检查,因为这是您的网站用户使用SQL injection attacks的好方法。

现在..。以下是您要查找的内容:

代码语言:javascript
复制
Dim strTeamQuery As String = "SELECT * FROM TEAM WHERE conf_id = @confid"

变成了

代码语言:javascript
复制
Dim strTeamQuery As String = "SELECT * FROM TEAM WHERE conf_id = @confid AND second_id = @secondId"

然后只需添加另一个:

代码语言:javascript
复制
cmdFetchTeam.Parameters.AddWithValue("@confid", intConfId)

(当然,使用其他值,如下所示)

代码语言:javascript
复制
cmdFetchTeam.Parameters.AddWithValue("@confid", intConfId)
cmdFetchTeam.Parameters.AddWithValue("@secondId", intSecondId)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1978434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档