0

我有一个网站,用户需要从主页添加和删除标题。标题存储在具有标题为“显示”(真或假)的列的数据库中,该列决定是否显示标题。我希望用户能够从主页添加或删除标题,因此创建了另一个页面,该页面创建了一个包含所有标题的表格以及一个包含“启用”和“禁用”的下拉列表。我希望这些下拉列表在用户更改下拉列表中的值时工作,数据库将被更新。只有我找不到如何为下拉列表提供更改事件。

有任何想法吗?我是否以正确的方式进行此操作,还是有更好的方法来做到这一点?

4

4 回答 4

1

首先,执行您的实际请求您将下拉菜单设置为自动回发,并添加一个处理程序以获取值并更新数据,IE(尽管您的下拉菜单至少在转发器或数据网格中)

    Private Sub SetupDropdowns()
        Dim pDropDown As New DropDownList
        pDropDown.Items.Add("Yes")
        pDropDown.Items.Add("No")
        pDropDown.AutoPostBack = True
        AddHandler pDropDown.SelectedIndexChanged, AddressOf pDropDown_SelectedIndexChanged
    End Sub

    Private Sub pDropDown_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim value As String = CType(sender, DropDownList).SelectedValue
'Do something with value
    End Sub

如果您直接访问 SQL,一种更简单的方法是使用数据网格并将其数据绑定到您的 SQL 查询。

于 2009-04-21T14:00:50.420 回答
0

第一的; 我个人会使用复选框为真/假值提供用户界面。您可以通过两种方式处理此问题:使用 ASP.NET 控件 (<asp:CheckBox ... />) 或纯 HTML 控件 (<input type="checkbox" .../>)。

在使用 ASP.NET 控件的情况下,您可以简单地双击控件(在设计视图中),以便为您创建 CheckedChanged 事件的事件处理程序。在使用 HTML 输入元素的情况下,您需要使用 JavaScript 在客户端处理 onclick 事件,并让 JavaScript 进行 AJAX 调用或类似调用,以便服务器可以更新数据库。我会说 ASP.NET 方法更简单。

于 2009-04-21T13:57:13.723 回答
0

很可能您最简单的方法是简单地使用 DataGrid,然后您可以轻松处理该事件。

作为替代方案,由于您只是在执行“显示”或“隐藏”选项,因此您可以只使用按钮,这可能会提供更好的 UI。(我发现这是真的,因为在某些浏览器中使用滚轮鼠标意外滚动了下拉列表项)

于 2009-04-21T13:58:48.413 回答
0

在您创建下拉列表的代码中,添加以下内容:

''// You already have this code...

Dim oDropDown as New DropDown

''// Whatever other declarations you need...

AddHandler oDropDown.SelectedIndexChanged, _ 
AddressOf oDropDown_SelectedIndexChanged

通常,您从工具箱向您的项目添加一个下拉菜单,您可以使用 codeview 下的下拉菜单选择 SelectedIndexChanged 事件。在这种情况下,我们必须手动执行此操作,因此请创建您的子例程:

Public Sub oDropDown_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    ''// Do whatever you need to do here

    ''// I sometimes do this to make code manipulation easier:
    Dim _sender as DropDown = CType(sender, DropDown)

End Sub

希望有帮助!

于 2009-04-21T14:19:16.523 回答