我正在尝试以编程方式使用objectdatasource填充下拉列表。它是一个用户控件,所以在我的ascx中我有这个:
<asp:ObjectDataSource ID="odsFicheros" runat="server"
OldValuesParameterFormatString="original_{0}"
onselecting="odsFicheros_Selecting" SelectMethod="ejecutaconsultaFicheros" TypeName="DatosGW.ControlBuscador">
</asp:ObjectDataSource>
<asp:DropDownList ID="cmbFicheros" runat="server" CssClass="form-control"
DataTextField="fichero" DataValueField="fichero" DataSourceID="odsFicheros"
ondatabound="cmbFicheros_DataBound" AutoPostBack="True"
onselectedindexchanged="cmbFicheros_SelectedIndexChanged">
</asp:DropDownList>
关于我背后的代码:
protected void Page_Load(object sender, EventArgs e)
{
odsFicheros.TypeName = "DatosGW.ControlBuscador";
odsFicheros.SelectMethod = "ejecutaconsultaFicheros";
Parameter consultas = new Parameter(consulta, TypeCode.String);
odsFicheros.SelectParameters.Add(consultas);
odsFicheros.DataBind();
cmbFicheros.DataSource = odsFicheros;
this.ejecutarConsulta();
}
最后在我的ControlBuscador类上,我有返回数据表的方法,但它不起作用,为什么?如果您需要更多详细信息,请告诉我。
答案 0 :(得分:0)
在Visual Studio中,我使用Selectin属性上的向导执行此操作:
e.InputParameters["consulta"] = hfConsulta.Value;
我使用我想要的参数创建了一个HiddenField,现在它正在工作