0

私は5つのテキストボックスの値から応答を取得して文字列に入れ、最終的にそれらをデータベースに保存しようとしていますが、プログラムで文字列を作成することはできません.これは私がこれまでに文字列を作成するためのコードです.

VB.コード

        Dim QuestionANS As String
        ' Get values from the text boxes
        Dim PassA As TextBox = CType(form1.FindControl("A"), TextBox)
        Dim PassB As TextBox = CType(form1.FindControl("B"), TextBox)
        Dim PassC As TextBox = CType(form1.FindControl("C"), TextBox)
        Dim PassD As TextBox = CType(form1.FindControl("B"), TextBox)
        Dim PassE As TextBox = CType(form1.FindControl("E"), TextBox)
        Dim PassF As TextBox = CType(form1.FindControl("F"), TextBox)

    QuestionANS = PassA.Text + "|" + PassB.Text + "|" + PassC.Text + "|" + PassD.Text + "|" + PassE.Text + "|" + PassF.Text

ASPコード

  <asp:DataList runat="server" ID="Questions">   
            <ItemTemplate>
               <table cellpadding="2px" cellspacing="0" border="0" style="page-break- inside:avoid;">
                <tr>
                   <td valign="top" style="padding-right:18px;"><asp:Label               runat="server" ID="QuestionNumber" /></td>

                    <td><asp:Image runat="server" style = "padding: 15px 0px 25px 0px;"  ID="Image" /></td>

                </tr>

                <tr>
                    <td></td>
            <td style="padding-top:10px;padding-bottom:15px;"></td>

                    <td style="padding-top:10px;padding-bottom:15px;"></td>
                    <tr>

                        <td style="width:50px;"><a>A:</a></td><td><asp:TextBox id="A" columns="30" runat="server" /></td>
                    </tr>
                    <tr>
                        <td style="width:50px;"><a>B:</a></td> <td><asp:TextBox id="B"  columns="30" runat="server" /></td>
                    </tr>
                    <tr>
                        <td style="width:50px;"><a>C:</a></td><td><asp:TextBox id="C" columns="30" runat="server" /></td>
                    </tr>
                    <tr>
                        <td style="width:50px;"><a>D:</a></td><td><asp:TextBox id="D" columns="30" runat="server" /></td>
                    </tr>
                    <tr>
                        <td style="width:50px;"><a>E:</a></td><td><asp:TextBox id="E" columns="30" runat="server" /></td>
                    </tr>
                    <tr>
                        <td style="width:50px;"><a>F:</a></td><td><asp:TextBox id="F" columns="30" runat="server" /></td>
                    </tr>
                </tr>

                    </table>
            <asp:HiddenField runat="server" ID="QuestionID" />
        </ItemTemplate>
    </asp:DataList>
4

1 に答える 1

2

はaまたはのようにTexBoxes別のものにあると思います。次に、これはあなたがonを取得する理由を説明します。NamingContainerFormViewGridViewNullRefernceExceptionQuestionANS = PassA.Text

編集:あなたは今それがaの中にあることを示したItemTemplateのでDataList

For Each item As DataListItem In Questions.Items
    Dim PassA As TextBox = DirectCast(item.FindControl("A"), TextBox)
Next

またはItemDataBoundイベントで:

Protected Sub Item_Bound(sender As Object, e As DataListItemEventArgs) Handles Questions.ItemDataBound
    Select Case e.Item.ItemType
        Case ListItemType.Item, ListItemType.AlternatingItem
            Dim PassA As TextBox = DirectCast(e.Item.FindControl("A"), TextBox)
    End Select
End Sub
于 2013-01-11T15:57:49.223 に答える