我有当用户需要从主网页添加和删除头条新闻的网站。 头条被存储在数据库中与标题为“显示”(真或假),如果标题出现这决定一列。我希望用户必须从主页中添加或删除头条新闻的能力,因此已经创建了一个下拉含有“启用”,“禁用”列表一起创建所有的头条表的另一页。我想这些下拉列表当用户改变了下拉列表中选择数据库将被更新的值继续工作。只有我找不到如何给下拉上更改事件列表中的。

任何想法? 我要对这个正确的方式还是有更好的方式来做到这一点?

有帮助吗?

解决方案

首先,做你的实际要求 您将设置下拉菜单来自动回发,并添加一个处理程序来获取值,并更新数据,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是使用DataGrid和数据绑定到您的SQL查询。

其他提示

首先;个人而言,我会使用复选框为真/假值提供了一个用户界面。您可以通过两种方式处理这个问题:要么你使用ASP.NET控件()或普通HTML控件(

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

最有可能你最简单的这种方法是简单地使用一个DataGrid,你可以很容易处理该事件。

作为替代方案,因为你只是做一个“秀”或“隐藏”选项,你可以只使用按钮,这可能会提供更好的用户界面。 (我发现这个真实由于下拉列表项带滚轮鼠标在某些浏览器的意外滚动)

在这里创建您的下拉列表中的代码,补充一点:

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

Dim oDropDown as New DropDown

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

AddHandler oDropDown.SelectedIndexChanged, _ 
AddressOf oDropDown_SelectedIndexChanged

通常情况下,你从工具箱中下拉列表添加到您的项目,您可以使用下拉菜单下的代码查看选择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

希望帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top