我想知道是否有办法遍历我在代码隐藏literal
中添加的HTML复选框。
我试过了:
Protected Sub SplitPDFPagesButton_Click(sender As Object, e As EventArgs) Handles SplitPDFPagesButton.Click
Dim i As Integer = 0
For Each c As Control In Page.Controls
If TypeOf c Is HtmlInputCheckBox Then
Dim cb As HtmlInputCheckBox = DirectCast(c, HtmlInputCheckBox)
If cb.Checked = True Then
i += 1
End If
End If
Next
MsgBox(i)
End Sub
但我认为我的问题是循环只找到文字作为容器(?)。
这样做的原因是因为我实际上并不知道在运行之前会生成多少个复选框。
这是我的代码到目前为止(正如您将在注释掉的部分中看到的那样,我尝试添加ASP.NET控件并使用HtmlInputCheckbox
替换上面代码段中的Checkbox
):
For Each fil As FileInfo In AllFiles
'##########################################################
'Add Image Controls
'Dim hl As New HyperLink
'hl.ID = pageCount
'hl.CssClass = "preview"
'hl.NavigateUrl = "xxx"
'hl.ImageUrl = "xxx"
'hl.Width = 20%
'hl.Height = 20%
'form1.Controls.Add(hl)
'form1.Controls.Add(New LiteralControl("<br />"))
''Add Checkboxes
'Dim chb As New CheckBox
'chb.ID = pageCount
'chb.Text = "Break Here"
'Dim lb As New Label
'lb.Text = "Page #" & pageCount
'form1.Controls.Add(lb)
'form1.Controls.Add(chb)
'form1.Controls.Add(New LiteralControl("<br />"))
'pageCount += 1
'############################################################
With str
'.AppendLine("<img src=""xxx"" style=""width:50%; height:50%""/><br />")
.AppendLine("<b>Page #: " & pageCount & "</b>")
.AppendLine("<div class=""leavespace""></div>")
.AppendLine("<a href=""xxx"" & """ class=""preview""><img src=""xxx & """ style=""width:20%; height:20%;""/></a><br />")
'.AppendLine(Environment.NewLine)
.AppendLine("-------------------<br />")
.AppendLine("<input type=""checkbox"" value=" & pageCount & ">Break Here</input><br />")
.AppendLine("-------------------<br />")
.AppendLine("<div class=""leavespace""></div>")
'.AppendLine(Environment.NewLine)
End With
pageCount += 1
Next
str.AppendLine("</div>")
Literal1.Text = str.ToString
答案 0 :(得分:0)
一般来说,从后面的代码中获取常规HTML元素的唯一方法是添加属性runat =&#34; server&#34;,但我不相信这在asp.net文字中是可能的control,as literal用于表示页面上的静态元素和文本。我可能不正确。
看看这个: http://msdn.microsoft.com/en-us/library/system.web.ui.literalcontrol(v=vs.110).aspx