Sql ASP.NET语法,用于在上载期间在文件数据库中插入列,然后在下载时使用该列将文件筛选到组中

Sql ASP.NET语法,用于在上载期间在文件数据库中插入列,然后在下载时使用该列将文件筛选到组中,sql,asp.net,file-upload,Sql,Asp.net,File Upload,我保持这个简短,以免任何人协助不必费力通过大量的解释和代码。如果需要的话,请向我询问任何其他解释或代码,以帮助我解决这个问题 上载:注释掉的代码获取空异常。我在标记中确实有DropDownList1。我不知道怎么了。如图所示,如果我硬编码到ReportGroup2,它当然可以工作 'cmd.Parameters.Add("@Related", SqlDbType.VarChar).Value = TryCast(FindControl("DropDownList1"),

我保持这个简短,以免任何人协助不必费力通过大量的解释和代码。如果需要的话,请向我询问任何其他解释或代码,以帮助我解决这个问题

上载:注释掉的代码获取空异常。我在标记中确实有DropDownList1。我不知道怎么了。如图所示,如果我硬编码到ReportGroup2,它当然可以工作

            'cmd.Parameters.Add("@Related", SqlDbType.VarChar).Value = TryCast(FindControl("DropDownList1"), DropDownList).SelectedIndex
            cmd.Parameters.Add("@Related", SqlDbType.VarChar).Value = "ReportGroup2"
下载:适用于硬编码ReportGroup2,但我不知道注释行的语法。我正在尝试获取文件行的相关列中的值

    cmd.Parameters.AddWithValue("@Id", id)
    cmd.Parameters.AddWithValue("@IsItPrivate", IsItPrivate)

    cmd.Parameters.AddWithValue("@Related", "ReportGroup2")
    'cmd.Parameters.AddWithValue("@Related", TryCast(FindControl("DropDownList1"), DropDownList).SelectedIndex)
再一次,如果你需要更多的细节,请告诉我。我的自然倾向是非常详细地解释事情,包括所有相关的标记代码、代码隐藏和表结构,但我发现如果我这样做,没有人会在任何论坛上回答。我认为时间投资太多了


如果你还在读这个-谢谢!我一定会回来,并标记为曾经回答或帮助过我的人。如果我能让它工作起来,我也会发布完成的代码。

我想我们需要更多的信息,但我将在黑暗中尝试一下

我认为DropDownlost1在一个类似GridView的控件中,您正试图通过单击按钮来处理它

FindControl的诀窍是将它锚定在正确的容器上,因为它不是递归或深度搜索(如果愿意)

您很可能有一行正在使用,所以请尝试类似row.FindControlDropDownList1的操作,假设您已定义了行

更多信息:

以及:

注:

在当前命名容器中搜索具有 指定的id参数

为强调起见,增加了粗体

在这种情况下,通常为控件设置一个变量。这有助于调试,并且可以对null进行incode检查。有点像我是个C族,所以我的VB有点生锈:

Dim ddList as DropDownList
ddList = TryCast(row.FindControl("DropDownList1"),DropDownList)

If (Not ddList  Is Nothing)
   'Assign parameter etc
Else
   'Control not found
   'Do something else, perhaps throw an excpetion
End If

谢谢Jon P.下拉菜单是独立的。它不在网格视图中。我最终得到了:cmd.Parameters。AddWithValue@Related,DropDownList1.selected.Value这似乎在上载部分起作用,该部分加载一个网格视图,其中包含现在和过去上载的字段。当我尝试通过网格中的链接下载时,这不再有效。谢谢Jon P。下拉菜单是独立的。不在网格视图中。我的结果是:cmd.Parameters。AddWithValue@Related,DropDownList1.selected.Value在上载部分工作,该部分加载带有上载文件的gridview。如果我尝试通过网格中的链接下载,这将不再有效。在下载子目录中:cmd.Parameters。AddWithValue@Related相关的在这里,我试图从包含文件名、文件内容、contenttype、IsItPrivate和相关列的DB表行中提取相关值。错误是变量“相关”在赋值之前使用,等等。