Problem je sledeći:
1. iz dropdow-a izaberem stavku 3
2. automatski se naprave tri checkbox-a
3. selektujem/čekiram sva tri box-a
4. kliknem na submit
5. Dobijem poruku da ništa nije selektovano !!!!
6. ponovo selektujem sva tri box-a
7. kliknem na submit
8. dobijem poruku da je selektovano 3 box-a
zašto mi u koraku 5 nije napisao da sam selektovao sva 3 box-a?
strana izgleda ovako.
Code:
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If not Page.IsPostBack then
ddl.Items.Add ("1")
ddl.Items.Add ("2")
ddl.Items.Add ("3")
End If
CreateControls (cint(ddl.Text ) )
End Sub
Private Sub CreateControls(count As Integer )
upp.ContentTemplateContainer.Controls.Clear()
For x As Integer = 1 to count
upp.ContentTemplateContainer.Controls.Add(New CheckBox With {.Checked = False, .Text = x.ToString })
next
End Sub
Protected Sub CategoryList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
CreateControls(cint(ddl.Text ))
End Sub
Protected Sub Save_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim sb As New Generic.List(Of String)
For Each c As Control In upp.ContentTemplateContainer.Controls
If TypeOf(c) is CheckBox then
Dim ch As CheckBox = c
If ch.Checked = True then
sb.Add (ch.ID )
end if
End If
Next
If sb.Count > 0 then
Result.Text = sb.Count.ToString
Else
Result.Text = "ništa nije selektovano"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<div>
<asp:DropDownList runat="server" ID="ddl" AutoPostBack="true" OnSelectedIndexChanged="CategoryList_SelectedIndexChanged">
</asp:DropDownList>
<asp:UpdatePanel runat="server" ID="upp" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:PlaceHolder runat="server" ID="test"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button runat="server" ID="Save" Text="Snimi" OnClick="Save_Click" />
<asp:Label runat="server" ID="Result"></asp:Label>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If not Page.IsPostBack then
ddl.Items.Add ("1")
ddl.Items.Add ("2")
ddl.Items.Add ("3")
End If
CreateControls (cint(ddl.Text ) )
End Sub
Private Sub CreateControls(count As Integer )
upp.ContentTemplateContainer.Controls.Clear()
For x As Integer = 1 to count
upp.ContentTemplateContainer.Controls.Add(New CheckBox With {.Checked = False, .Text = x.ToString })
next
End Sub
Protected Sub CategoryList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
CreateControls(cint(ddl.Text ))
End Sub
Protected Sub Save_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim sb As New Generic.List(Of String)
For Each c As Control In upp.ContentTemplateContainer.Controls
If TypeOf(c) is CheckBox then
Dim ch As CheckBox = c
If ch.Checked = True then
sb.Add (ch.ID )
end if
End If
Next
If sb.Count > 0 then
Result.Text = sb.Count.ToString
Else
Result.Text = "ništa nije selektovano"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server"></asp:ScriptManager>
<div>
<asp:DropDownList runat="server" ID="ddl" AutoPostBack="true" OnSelectedIndexChanged="CategoryList_SelectedIndexChanged">
</asp:DropDownList>
<asp:UpdatePanel runat="server" ID="upp" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddl" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:PlaceHolder runat="server" ID="test"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button runat="server" ID="Save" Text="Snimi" OnClick="Save_Click" />
<asp:Label runat="server" ID="Result"></asp:Label>
</div>
</form>
</body>
</html>
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Da je važnije biti ljubazan nego biti u pravu