【问题标题】:asp.net change format on various fields with same prefix, different suffixasp.net 在具有相同前缀、不同后缀的各个字段上更改格式
【发布时间】:2015-05-22 10:59:35
【问题描述】:

我在一个 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")

这可能吗?

【问题讨论】:

    标签: asp.net loops webforms findcontrol


    【解决方案1】:

    为什么不使用嵌套的 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
    

    【讨论】:

    • 抱歉,我没有使用嵌套的 foreach 循环,因为我不知道我能做到这一点。现在我愿意。太棒了!虽然不是我想要的代码,但这将我的例程缩短了至少 50%,并使整个事情变得更简单、更合乎逻辑。顺便说一句,您的代码出错了,但这有效(缺少文本框)部分: CType(FindControl("txtDO" & l & letter), TextBox).Style.Add("border-bottom", "thin虚线 #AD9F9F")
    【解决方案2】:

    简而言之,您无法像您要求的那样仅使用一行代码和一个 FindControl 来完成。
    FindControl 仅返回一个可使用的控件。
    有关详细信息,请参阅MSDN 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2018-09-15
      • 2019-11-12
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多