自动更新我在 ASP.net Web 表单和必填复选框中的下拉列表
Auto update my dropdown list in ASP.net Web Form and Required checkbox
我正在学习 ASP.net Web 表单并从事一个简单的项目,但我正在尝试做一些事情,但仍然无法弄清楚!
首先,我将国家作为单选按钮,将州作为下拉列表,然后将城市作为下拉列表!我将美国设为默认值,但问题是当我从单选按钮中选择另一个国家时,下拉列表不会更新(select 声明是 100% 正确的)
有没有一种简单的方法可以让我做我想做的事? (我也想对 states/cites 做同样的事情,从第一个下拉列表中获取状态并更新第二个下拉列表)
二、如何让复选框成为必填项?在使用自定义验证器之前,我在这里看到过一个问题我试过了,但是当我点击提交页面刷新(它基本上是提交)时,验证器消息显示,不像其他验证器我什至无法提交如果有什么问题!我该如何解决这个问题?
而且因为我是 asp 的新手,所以我不知道要在这里分享什么代码,所以如果有人告诉我您需要查看什么才能帮助我,我可以进行编辑。谢谢!
好的,我们将假设一些标记。您必须为单选按钮列表设置 auto-postback = true。
所以,假设我们有这个标记:
<div class="mylabel" style="width:40%">
<label>First Name:</label> <asp:TextBox ID="txtFirst" runat="server"></asp:TextBox><br/>
<label>Middle Initial:</label> <asp:TextBox ID="txtMiddle" runat="server" Width="35px"></asp:TextBox><br/>
<label>Last Name:</label> <asp:TextBox ID="txtLast" runat="server"></asp:TextBox><br/>
</div>
<div class="mylabel" style="float:left;line-height:75px">
<label>Country:</label>
</div>
<div style="float:left">
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True">
<asp:ListItem Value="USA">United States</asp:ListItem>
<asp:ListItem Value="Canada">Canada</asp:ListItem>
<asp:ListItem Value="Other">Other</asp:ListItem>
</asp:RadioButtonList>
</div>
<div style="clear:both" class="mylabel">
<br />
<label>State/Province</label>
<asp:DropDownList ID="DropDownList1" runat="server" Height="22px" Width="169px"
style="font-size:14px"
DataValueField="ID"
DataTextField="HotelName">
</asp:DropDownList>
</div>
然后是这段代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
RadioButtonList1.SelectedIndex = 0
LoadCombo()
End If
End Sub
Protected Sub RadioButtonList1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RadioButtonList1.SelectedIndexChanged
LoadCombo()
End Sub
Sub LoadCombo()
Dim strSQL As String =
"SELECT ID, HotelName FROM tblHotels Where Country = @Country ORDER BY HotelName"
Using conn As New SqlConnection(My.Settings.TEST4)
Using cmdSQL As New SqlCommand(strSQL, conn)
cmdSQL.Parameters.Add("@Country", SqlDbType.NVarChar).Value = RadioButtonList1.SelectedItem.Value
conn.Open()
DropDownList1.DataSource = cmdSQL.ExecuteReader
DropDownList1.DataBind()
End Using
End Using
End Sub
现在我们有了这个:
因此,在第一次加载页面时 (post-back = false),我们将单选按钮列表设置为“0”(第一选择),然后我们调用例程来加载组合框。
当您根据国家/地区更改 RB 列表时,会调用相同的例程。
我正在学习 ASP.net Web 表单并从事一个简单的项目,但我正在尝试做一些事情,但仍然无法弄清楚!
首先,我将国家作为单选按钮,将州作为下拉列表,然后将城市作为下拉列表!我将美国设为默认值,但问题是当我从单选按钮中选择另一个国家时,下拉列表不会更新(select 声明是 100% 正确的)
有没有一种简单的方法可以让我做我想做的事? (我也想对 states/cites 做同样的事情,从第一个下拉列表中获取状态并更新第二个下拉列表)
二、如何让复选框成为必填项?在使用自定义验证器之前,我在这里看到过一个问题我试过了,但是当我点击提交页面刷新(它基本上是提交)时,验证器消息显示,不像其他验证器我什至无法提交如果有什么问题!我该如何解决这个问题?
而且因为我是 asp 的新手,所以我不知道要在这里分享什么代码,所以如果有人告诉我您需要查看什么才能帮助我,我可以进行编辑。谢谢!
好的,我们将假设一些标记。您必须为单选按钮列表设置 auto-postback = true。
所以,假设我们有这个标记:
<div class="mylabel" style="width:40%">
<label>First Name:</label> <asp:TextBox ID="txtFirst" runat="server"></asp:TextBox><br/>
<label>Middle Initial:</label> <asp:TextBox ID="txtMiddle" runat="server" Width="35px"></asp:TextBox><br/>
<label>Last Name:</label> <asp:TextBox ID="txtLast" runat="server"></asp:TextBox><br/>
</div>
<div class="mylabel" style="float:left;line-height:75px">
<label>Country:</label>
</div>
<div style="float:left">
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="True">
<asp:ListItem Value="USA">United States</asp:ListItem>
<asp:ListItem Value="Canada">Canada</asp:ListItem>
<asp:ListItem Value="Other">Other</asp:ListItem>
</asp:RadioButtonList>
</div>
<div style="clear:both" class="mylabel">
<br />
<label>State/Province</label>
<asp:DropDownList ID="DropDownList1" runat="server" Height="22px" Width="169px"
style="font-size:14px"
DataValueField="ID"
DataTextField="HotelName">
</asp:DropDownList>
</div>
然后是这段代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
RadioButtonList1.SelectedIndex = 0
LoadCombo()
End If
End Sub
Protected Sub RadioButtonList1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RadioButtonList1.SelectedIndexChanged
LoadCombo()
End Sub
Sub LoadCombo()
Dim strSQL As String =
"SELECT ID, HotelName FROM tblHotels Where Country = @Country ORDER BY HotelName"
Using conn As New SqlConnection(My.Settings.TEST4)
Using cmdSQL As New SqlCommand(strSQL, conn)
cmdSQL.Parameters.Add("@Country", SqlDbType.NVarChar).Value = RadioButtonList1.SelectedItem.Value
conn.Open()
DropDownList1.DataSource = cmdSQL.ExecuteReader
DropDownList1.DataBind()
End Using
End Using
End Sub
现在我们有了这个:
因此,在第一次加载页面时 (post-back = false),我们将单选按钮列表设置为“0”(第一选择),然后我们调用例程来加载组合框。
当您根据国家/地区更改 RB 列表时,会调用相同的例程。