我有一个网站,用户需要在主页面上添加和删除标题。 标题存储在数据库中,其标题为“显示”(真或假),用于决定是否显示标题。我希望用户能够在主页面上添加或删除标题,因此创建了另一个页面,其中创建了包含所有标题的表格以及包含“启用”和“禁用”的下拉列表。我希望这些下拉列表能够在用户更改下拉列表中的值时更新数据库。只有我无法找到如何给下拉列表一个关于更改事件。
有什么想法吗? 我是以正确的方式解决这个问题还是有更好的方法来做到这一点?
答案 0 :(得分:1)
首先,做你的实际要求 您可以将下拉列表设置为autopostback,并添加处理程序以获取值并更新数据,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查询。
答案 1 :(得分:0)
首先;我个人会使用复选框为真/假值提供用户界面。您可以通过两种方式处理此问题:使用ASP.NET控件(&lt; asp:CheckBox ... /&gt;)或纯HTML控件(&lt; input type =“checkbox”... /&gt;)。< / p>
在使用ASP.NET控件的情况下,您只需双击控件(在设计视图中),即可为您创建CheckedChanged事件的事件处理程序。在使用HTML输入元素的情况下,您需要使用JavaScript处理客户端上的onclick事件,并让JavaScript进行AJAX调用或类似操作,以便服务器可以更新数据库。我会说ASP.NET方法更简单。
答案 2 :(得分:0)
最简单的方法就是简单地使用DataGrid,然后您可以轻松处理事件。
作为替代方案,由于您只是在执行“显示”或“隐藏”选项,因此您可以使用按钮,这可能会提供更好的UI。 (我发现这是真的,因为在某些浏览器中使用滚轮鼠标意外滚动下拉列表项目)
答案 3 :(得分: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
希望有所帮助!