controlparameter not found

与世无争的帅哥 提交于 2019-12-24 22:25:14

问题


Error: Could not find control 'mytextfield' in ControlParameter 'mycontrolparam'.

<asp:ControlParameter ControlID="mytextfield" Name="mycontrolparam" PropertyName="Text" Type="Int32" />

The error is because "mytextfield" is inside a panel control and I would need FindControl method to find it. But I want to find a quick solution if there is any, how to make mytextfield visible to the control parameter. The same code works on a different page but not on this one. Please keep in mind, I want to make minimum changes to the existing code.

Here is similar code I copied over from Microsoft site.

<asp:SqlDataSource id="Employees" runat="server"
  ConnectionString="<%$ ConnectionStrings:Northwind%>"
  SelectCommand="SELECT LastName FROM Employees WHERE Title = @Title">
  <SelectParameters>
    <asp:ControlParameter Name="Title" 
      ControlID="DropDownList1"
      PropertyName="SelectedValue"/>
  </SelectParameters>
</asp:sqldatasource>

Want to mention: 'mytextfield' is a readonly textfield. It does work OK on the other page though.


回答1:


Please add control parameter inside your codebehind page when sqldatasource is selecting. You will have to cast control first and then add parameters value. I assumed textbox xyz control inside panel named mypanel.

Protected Sub Employees_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs) Handles Employees.Selecting
            Dim xyz As TextBox = DirectCast(mypanel.findcontrol("yourcontrolname"), TextBox)
            Dim mycontrolparam = New SqlParameter("@mycontrolparam",xyz.text)
            e.Command.Parameters.Add(mycontrolparam)
        End Sub



回答2:


Myself: If a control is embedded inside a panel, you can only find it through FindControl method of that panel. It still actually did not work for me and I had to abandon it and use a a different method.

Use the following method otherwise

FindControl("MyControlID")


来源:https://stackoverflow.com/questions/6902460/controlparameter-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!