如何在向导控制上执行DirectCast到sql?

时间:2016-01-29 01:15:44

标签: asp.net .net sql-server vb.net wizard

我尝试使用向导控制,我已经完成了向导的5步。我想在用户clik完成按钮时存储我的数据,但是我将数据存储到sql中存在一些问题。这是我的代码:

<asp:SqlDataSource ID="Wizard1SDS" 
    runat="server"
    ConnectionString="<%$ ConnectionStrings:tr9DbConn %>"
    InsertCommand = "INSERT INTO [tr9_detail_eval] ([response_text]) VALUES (@txb_answer1)">
    <InsertParameters>
        <asp:ControlParameter Name="txb_answer1" Type="String" ControlID="txb_answer1" PropertyName="Text"/>
    </InsertParameters>
</asp:SqlDataSource>

我的代码背后:

Protected Sub Wizard1_FinishButtonClick(sender As Object, e As WizardNavigationEventArgs) Handles Wizard1.FinishButtonClick
    Dim Wizard1SDS As SqlDataSource = DirectCast(Me.Wizard1.WizardSteps(0).FindControl("Wizard1SDS"), SqlDataSource)
    Wizard1SDS.Insert()

End Sub

我在向导上的文本框代码:

 <div style="margin : 10px;">
                      <asp:TextBox runat="server" ID="txb_answer1" TextMode="MultiLine" Columns="10" Rows="50" Height="123px" Width="600px" CssClass="step1" />
                 </div>

Error image

有什么建议吗?谢谢,

1 个答案:

答案 0 :(得分:0)

我已经用这个代码解决了我的问题,我将DirectCast替换为CType并将文本框转换为字符串然后将其转换为findcontrol文本框。这是我的代码:

Protected Sub Wizard1_FinishButtonClick(sender As Object, e As WizardNavigationEventArgs) Handles Wizard1.FinishButtonClick


    Dim txb_answer1 As String = CType(Me.Wizard1.WizardSteps(0).FindControl("txb_answer1"), TextBox).Text
    Wizard1SDS.Insert()
    Response.Redirect("Eval.aspx")

End Sub