asp.net 更改具有相同前缀、不同后缀的各个字段的格式
asp.net change format on various fields with same prefix, different suffix
我在 asp.net 页面中有以下 VB 代码。
它工作正常,但我相信一定有更好的方法(也许只有一行)来覆盖块中的所有 6 个字段。
可以看到有4行字段,每行包含6个字段。
他们的ID都以前缀"txtDO"开头,然后是数字(7到11),然后是后缀(_D, _C, _1, _2, _3, _B)
请注意,这些不是页面上的唯一字段,还有几个组。
因为我在 VB 循环中还有额外的代码 运行,所以我需要保持这种方式。
For l = 7 To 11
CType(FindControl("txtDO" & l & "_D"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_C"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_1"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_2"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_3"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_B"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
Next l
我正在寻找这样的东西,看到后缀 * 它涵盖了所有字段,因此只有一行代码而不是 6 行。
CType(FindControl("txtDO" & l & "*"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
这可能吗?
为什么不使用嵌套的 Foreach 循环...
Dim letters() As String = {"_D", "_C", "_1", "_2", "_3", "_B"}
For l = 7 To 11
For Each letter As String In letters
CType(FindControl("txtDO" & l & letter).Style.Add("border-bottom", "thin dotted #AD9F9F")
Next
Next l
简而言之,您不能像您所要求的那样用一行代码和一个 FindControl 来完成。
FindControl returns 只有一个控件可以使用。
有关详细信息,请参阅 MSDN 文档。
我在 asp.net 页面中有以下 VB 代码。
它工作正常,但我相信一定有更好的方法(也许只有一行)来覆盖块中的所有 6 个字段。
可以看到有4行字段,每行包含6个字段。 他们的ID都以前缀"txtDO"开头,然后是数字(7到11),然后是后缀(_D, _C, _1, _2, _3, _B)
请注意,这些不是页面上的唯一字段,还有几个组。 因为我在 VB 循环中还有额外的代码 运行,所以我需要保持这种方式。
For l = 7 To 11
CType(FindControl("txtDO" & l & "_D"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_C"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_1"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_2"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_3"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
CType(FindControl("txtDO" & l & "_B"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
Next l
我正在寻找这样的东西,看到后缀 * 它涵盖了所有字段,因此只有一行代码而不是 6 行。
CType(FindControl("txtDO" & l & "*"), TextBox).Style.Add("border-bottom", "thin dotted #AD9F9F")
这可能吗?
为什么不使用嵌套的 Foreach 循环...
Dim letters() As String = {"_D", "_C", "_1", "_2", "_3", "_B"}
For l = 7 To 11
For Each letter As String In letters
CType(FindControl("txtDO" & l & letter).Style.Add("border-bottom", "thin dotted #AD9F9F")
Next
Next l
简而言之,您不能像您所要求的那样用一行代码和一个 FindControl 来完成。
FindControl returns 只有一个控件可以使用。
有关详细信息,请参阅 MSDN 文档。