我有一个带有此代码的页面 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 如果找到了也可以。即使 de selectedparameters 工作正常,但我添加的 insertparameter 不起作用。我尝试更改名称,逐步调试,并且插入参数始终采用默认值(0)对象数据源是这个
<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(); 为什么?我想这是因为我从不添加插入参数,但你猜不出原因。提前致谢。原谅我糟糕的英语