Asp.net 如何将向导控件上的DirectCast转换为sql?
我尝试使用向导控件,我的向导有5个步骤。我想在用户点击“完成”按钮时存储数据,但在将数据存储到sql时遇到了一些问题。这是我的代码:Asp.net 如何将向导控件上的DirectCast转换为sql?,asp.net,.net,sql-server,vb.net,wizard,Asp.net,.net,Sql Server,Vb.net,Wizard,我尝试使用向导控件,我的向导有5个步骤。我想在用户点击“完成”按钮时存储数据,但在将数据存储到sql时遇到了一些问题。这是我的代码: <asp:SqlDataSource ID="Wizard1SDS" runat="server" ConnectionString="<%$ ConnectionStrings:tr9DbConn %>" InsertCommand = "INSERT INTO [tr9_detail_eval] ([response
<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>
向导上的我的文本框代码:
<div style="margin : 10px;">
<asp:TextBox runat="server" ID="txb_answer1" TextMode="MultiLine" Columns="10" Rows="50" Height="123px" Width="600px" CssClass="step1" />
</div>
有什么建议吗?谢谢,我已经解决了这段代码背后的问题,我将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
您收到的错误消息是什么?我有一些问题是描述不充分…对不起,我忘记添加错误消息。我试着点击芬兰语的按钮,“对象引用未设置为对象的实例”,所以你必须弄清楚哪个对象什么都不是。调试代码并检查FinishButtonClick中的每个对象(我、Wizard1、WizardSteps(0)、FindControl(“Wizard1SDS”))我无法在计算机上调试,我使用的不是本地数据库,而是公司服务器数据库。我尝试这样更改“Dim tb As TextBox=DirectCast(Me.Wizard1.FindControl(“WizardStep1”).FindControl(“txb_answer1”),TextBox”),但仍然没有存储到sql的数据。注意:没有错误检测,只是无法存储到SQLException中。异常是由代码引发的,而不是由数据库引发的。如果您是在本地计算机上开发的,那么您完全可以调试代码。在方法上放置一个断点,并检查值以查看哪个值为null-Wizard1SDS
为null,因此前一行中的某些内容很可能是罪魁祸首。
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