Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向ObjectDataSource的UpdateMethod添加参数_C#_Asp.net_Listview_Webforms_Objectdatasource - Fatal编程技术网

C# 向ObjectDataSource的UpdateMethod添加参数

C# 向ObjectDataSource的UpdateMethod添加参数,c#,asp.net,listview,webforms,objectdatasource,C#,Asp.net,Listview,Webforms,Objectdatasource,好的,我正在使用ASP WebForms,在另一个ListView(用于帐户)中有一个ListView(用于帐户客户) 此内部ListView为帐户客户(在此特定应用程序中称为参与者)提供了一个ObjectDataSource 这是: <asp:ObjectDataSource ID="dataSourceParticipants" runat="server" SelectMethod="GetParticipantsForAccount" UpdateMethod="UpdatePa

好的,我正在使用ASP WebForms,在另一个ListView(用于帐户)中有一个ListView(用于帐户客户)

此内部ListView为帐户客户(在此特定应用程序中称为参与者)提供了一个ObjectDataSource

这是:

<asp:ObjectDataSource ID="dataSourceParticipants" runat="server" 
SelectMethod="GetParticipantsForAccount"
UpdateMethod="UpdateParticipantDetails"
DeleteMethod="DeleteParticipantDetails"
InsertMethod="InsertParticipantDetails"
TypeName="PreScreening2.AccountManagerWrapper"
DataObjectTypeName="PreScreening2.BLL.Models.Participant">
    <SelectParameters>
        <asp:ControlParameter ControlID="grdAccounts" Name="accountNumber" PropertyName="SelectedDataKey.Values[AccountNumber]"
            Type="String" />
    </SelectParameters>
</asp:ObjectDataSource>
这是完美的,重要的是要澄清,这条线以上的一切都是100%有效的,所有的方法都完全符合我的要求

我想更新我的UpdateParticipantDetails方法,如下所示:

    public bool UpdateParticipantDetails(Participant participant, string accountNumber)
    {
        return ParticipantManager.UpdateParticipantDetails(participant, accountNumber, AccountManager);
    }
我想将相同的AccountNumber属性传递到此方法中,我将其用作上面SelectParameters控制参数的属性名称

我需要向数据源参与者的HTML中添加什么才能将这个新值传递到我的更新方法中

我试过这个:

<UpdateParameters>
    <asp:ControlParameter ControlID="grdAccounts" Name="participant"/>
    <asp:ControlParameter ControlID="grdAccounts" Name="accountNumber" PropertyName="SelectedDataKey.Values[AccountNumber]" Type="String"/>
</UpdateParameters>

Resharper给了我这个错误:

参数数量不正确

当我尝试更新时,会出现以下执行时间错误:

ObjectDataSource“dataSourceParticipants”找不到采用“PreScreening2.BLL.Models.Participant”类型参数的非泛型方法“UpdateParticipantDetails”

谢谢

    public bool UpdateParticipantDetails(Participant participant, string accountNumber)
    {
        return ParticipantManager.UpdateParticipantDetails(participant, accountNumber, AccountManager);
    }
<UpdateParameters>
    <asp:ControlParameter ControlID="grdAccounts" Name="participant"/>
    <asp:ControlParameter ControlID="grdAccounts" Name="accountNumber" PropertyName="SelectedDataKey.Values[AccountNumber]" Type="String"/>
</UpdateParameters>