asp.net VB需要为Listview或SQL Insert设置默认值

时间:2016-10-14 17:08:25

标签: asp.net vb.net listview sqldatasource

希望我能说清楚。我有:

使用sql数据源的Listview 选择某些内容时单独的下拉列表会过滤listview / sqldatasoure

我要做的是使用下拉列表中的值来设置插入记录的默认值。我看到listview iteminsert上的文本框或sqldatasource Insertparameter上的defaultvalue这两个地方。

我已经尝试了下拉事件中的会话变量,但是如果我设置了文本框,则会在刷新列表视图后将其擦除。似乎没有办法在sqldatasource上设置insertparamater。

我正在尝试找到要设置的正确事件和属性。到目前为止我尝试过的所有内容在我直接引用文本框时都会出错,或者在没有设置对象或块var的情况下使用findcontrol。换句话说,.net hierchary让我感到沮丧。

希望这是有道理的。

由于

2 个答案:

答案 0 :(得分:0)

如果我误解了道歉,但您无法在下拉列表的DefaultValue事件中更新插入参数的OnSelectedIndexChanged吗?

<asp:DropDownList runat="server" id="ddl" OnSelectedIndexChanged="ddl_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
Protected Sub ddl_SelectedIndexChanged(sender As Object, e As EventArgs)

      MySqlDataSource.InsertParameters("ParameterName").DefaultValue = ddl.SelectedValue

End Sub

答案 1 :(得分:0)

桑蒂, 感谢您的回复,它帮助我思考,您走在了正确的轨道上。我的下拉列表将值存储在会话变量中,然后检查ListView的ItemInserting上的文本框,如果它是空白,则将数据源设置为会话变量。与此相似

Protected Sub ListView1_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewInsertEventArgs) Handles ListView1.ItemInserting
        If txtCategoryInsert.Text = "" Then
            SqlDataSource1.InsertParameters("Category").DefaultValue = Session("CatDefault")
        End If
    End Sub