このコードを含むページ prueba.aspx があります
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
Object ob = CPUSControl1.FindControl("ObjectDataSourcecpus");
ObjectDataSource ods = (ob != null && ob.GetType() == typeof(ObjectDataSource)) ? (ObjectDataSource)ob : null;
if (ods != null)
{
ods.SelectParameters.Clear();
ods.SelectParameters.Add("usuario", DropDownListUsuarios.SelectedValue.ToString().Trim());
ods.InsertParameters.Add("usuario", DropDownListUsuarios.SelectedValue.ToString().Trim());
}
}
catch (Exception error)
{
throw error;
}
}
CPUSControl1 はこのページのユーザー コントロールであり、正常に検出されました。正常に検出された場合は objectdatasource も検出されました。選択したパラメータでも問題なく動作しますが、追加した挿入パラメータは動作しません。私は名前を変更しようとしましたが、debugedit は段階的に実行され、insertparameters は常に defaultvalue(0) を取ります objectdatasource はこれです
<asp:ObjectDataSource ID="ObjectDataSourcecpus" runat="server"
SelectMethod="getCPUs" TypeName="CPU" InsertMethod="saveCPUs">
<SelectParameters>
<asp:Parameter Name="usuario" DefaultValue="0" Type="String" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="usuario" DefaultValue="0" Type="String" />
<asp:Parameter Name="Codigo" Type="String" />
<asp:Parameter Name="NroSerie" Type="String" />
<asp:Parameter Name="TipoCPU" Type="String" />
<asp:Parameter Name="Mother" Type="String" />
<asp:Parameter Name="Modelo" Type="String" />
<asp:Parameter Name="Procesador" Type="String" />
<asp:Parameter Name="Memoria" Type="String" />
<asp:Parameter Name="Proveedor" Type="Int32" />
<asp:Parameter Name="BocaRed" Type="String" />
<asp:Parameter Name="IP" Type="String" />
<asp:Parameter Name="UPS" Type="Int32" />
<asp:Parameter Name="VtoGarantia" Type="DateTime" />
<asp:Parameter Name="FechaCompra" Type="DateTime" />
<asp:Parameter Name="NombreEquipo" Type="String" />
<asp:Parameter Name="USB" Type="String" />
<asp:Parameter Name="Obs" Type="String" />
<asp:Parameter Name="Marcacion" Type="String" />
<asp:Parameter Name="TipoCPU1" Type="Int32" />
<asp:Parameter Name="fechaentrada" Type="DateTime" />
<asp:Parameter Name="fechasalida" Type="DateTime" />
</InsertParameters>
</asp:ObjectDataSource>
ods.SelectParameters.Clear(); を追加する義務があります。ods.InsertedParameters.Clear(); ではありません。なぜ?挿入パラメーターを追加していないためだと思いますが、その理由はわかりません。前もって感謝します。そして私の悪い英語を許してください