0

このコードを含むページ 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(); ではありません。なぜ?挿入パラメーターを追加していないためだと思いますが、その理由はわかりません。前もって感謝します。そして私の悪い英語を許してください

4

1 に答える 1