0

次のように、複数のCheckBoxList(合計8つ)を含むフォームを作成しています。

Configurar el Sistema (1-3 horas)
<asp:CheckBoxList runat="server" ID="Configurar">
<asp:ListItem ID="ECheckBox1" class="submenu" runat="server"  Text="Personal"/>
<asp:ListItem ID="ECheckBox1a" class="submenu"  runat="server" Text="Seguridad del Sistema"/>
 <asp:ListItem ID="ECheckBox1b" class="submenu"  runat="server" Text="Configuración del     agencia (sitios, salones)"/>
 <asp:ListItem ID="ECheckBox1c" class="submenu"  runat="server" Text="Configuración de los módulos (elegibilidad, requisitos de salud)"/>
 <asp:ListItem ID="ECheckBox1d" class="submenu"  runat="server" Text="Configuración del sistema (preferencias, Campos de específicos a su agencia)"/>
 <asp:ListItem ID="ECheckBox1e" class="submenu"  runat="server" Text="Utilidades  del Database (archivo, función de adiestramiento)"/>
 <asp:ListItem ID="ECheckBox1f" class="submenu"  runat="server" Text="Los datos de registro historia"/>
 <asp:ListItem ID="ECheckBox1g" class="submenu"  runat="server" Text="Configuración del PIR"/>
 <asp:ListItem ID="ECheckBox1h" class="submenu"  runat="server" Text="Configurar Data en vivo"/>
</asp:CheckBoxList>

SubBtn.Clickで、選択したアイテムが電子メールに送信されます。これを使用して、最初のCheckBoxListをループします。

    Dim ConfigurarChkVal As String = String.Empty

    For Each item As ListItem In Configurar.Items

        If item.Selected Then
            ConfigurarChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(ConfigurarChkVal) Then
        ConfigurarChkVal = ConfigurarChkVal.Substring(1)
    End If

    Dim EmailBody As String
    EmailBody = EmailBody + "<p style=" + "font-family:Verdana;" + ">" + ConfigurarChkVal + "</p>"

それは戻ります:

Configurar el Sistema

個人

Seguridad del Sistema

Configuracióndelagencia(sitios、salons)

Configuracióndelosmódulos(elegibilidad、requisitos de salud)

Configuracióndelsistema(preferencias、Camposdeespecíficosasu agencia)

Utilidades del Database(archivo、funciónde adiestramiento)

Los datos de registro historia

ConfiguracióndelPIR

Configurar Data en vivo

したがって、最初に選択した値の最初の文字を切り取ります。どうすればこれを解決できますか?ただし、これは実際には主な問題ではありません。残りのCheckBoxListに同じコードを使用しようとすると、電子メールの8つすべてではなく、最後のCheckBoxListのみが返されます。

もっと簡単な方法があるかどうかはわかりませんが、アドバイスをいただければ幸いです。


8つすべてのコード:

    Dim EntradaChkVal As String = String.Empty

    For Each item As ListItem In FamilyServices.Items

        If item.Selected Then
            EntradaChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(EntradaChkVal) Then
        EntradaChkVal = EntradaChkVal.Substring(0)
    End If


    Dim HealthChkVal As String = String.Empty

    For Each item As ListItem In Health.Items

        If item.Selected Then
            HealthChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(HealthChkVal) Then
        HealthChkVal = HealthChkVal.Substring(0)
    End If

    Dim FamilyChkVal As String = String.Empty

    For Each item As ListItem In FamServices.Items

        If item.Selected Then
            FamilyChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(FamilyChkVal) Then
        FamilyChkVal = FamilyChkVal.Substring(0)
    End If


    Dim AdminChkVal As String = String.Empty

    For Each item As ListItem In Admin.Items

        If item.Selected Then
            AdminChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(AdminChkVal) Then
        AdminChkVal = AdminChkVal.Substring(0)
    End If

    Dim StatusChkVal As String = String.Empty

    For Each item As ListItem In StatusCenter.Items

        If item.Selected Then
            StatusChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(StatusChkVal) Then
        StatusChkVal = StatusChkVal.Substring(0)
    End If


    Dim ReportsChkVal As String = String.Empty

    For Each item As ListItem In Informes.Items

        If item.Selected Then
            ReportsChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(ReportsChkVal) Then
        ReportsChkVal = ReportsChkVal.Substring(0)
    End If
    Dim OptionalChkVal As String = String.Empty

    For Each item As ListItem In Opciones.Items

        If item.Selected Then
            OptionalChkVal += item.Value + "<br />"
        End If
    Next
    If Not [String].IsNullOrEmpty(OptionalChkVal) Then
        OptionalChkVal = OptionalChkVal.Substring(0)
    End If

問題は次のとおりです。EmailBody=EmailBody+ " Configurar el Sistema " + "

"EmailBody = EmailBody +" "+ ConfigurarChkVal +"

「」

        EmailBody = "<p style=" + "font-family:Verdana;" + "><p style=" + "font-family:Verdana;" + "><strong>Informacion de entrada para la familia y matriculados </strong> " + "</p><p></p>"
        EmailBody = EmailBody + "<p style=" + "font-family:Verdana;" + ">" + EntradaChkVal + "</p>"

同時ステートメントのそれぞれでEmailBody+を省略したため、EmailBodyが再び開始されました。

4

1 に答える 1

0

文字列はゼロから始まるインデックスが付けられるため ConfigurarChkVal.Substring(1)ConfigurarChkVal.Substring(0)

于 2013-02-08T23:47:50.457 に答える