代码之家  ›  专栏  ›  技术社区  ›  citronas

当更新方法接受业务类作为参数时,如何在ObjectDataSource更新事件中更改类的属性?

  •  0
  • citronas  · 技术社区  · 14 年前

    我的商务舱:

    public class Foo
    {
     public String A {get;set;}
     public DateTime B {get;set;}
     // .. and other properties like
     public String Intern {get;set;}
    }
    

    我正在以编辑模式将该项绑定到DetailsView(我绑定了一个包含Foo单个对象的列表,因为我记得我只能绑定IEnumerable<&燃气轮机;类到DetailView) 绑定是通过ObjectDataSource完成的

    <asp:ObjectDataSource ID="odsEditfoo" runat="server" 
        SelectMethod="GetFooAsList" 
        TypeName="mynamespace.FooMethods" 
            DataObjectTypeName="mynamespace.Foo" 
            oninserting="odsEditfoo_Inserting" onupdating="odsEditfoo_Updating" 
            UpdateMethod="UpdateFoo">
        <SelectParameters>
            <asp:Parameter Name="A" Type="Int32" DefaultValue="-1" />
            <asp:Parameter DefaultValue="-1" Name="type" Type="Object" />
        </SelectParameters>
    </asp:ObjectDataSource>
    

    updatemethod看起来像

    public void UpdateFoo(Foo item) 
    {
       // save changes ...
    }
    

    我想从LinqDataSource中找到一种习惯的方法,在这里我有一个更新事件,允许我访问绑定对象(在本例中是foo的一个实例)来更改属性。我似乎不知道如何在ObjectDataSource的更新事件中解决这个问题。我要怎么做才能解决这个问题?

    1 回复  |  直到 14 年前
        1
  •  0
  •   citronas    14 年前

    protected void odsEditfoo_Updating(object sender, ObjectDataSourceMethodEventArgs e)
    {
      Foo item = (Foo)(e.InputParameters["item"]);
    }
    
    推荐文章