代码之家  ›  专栏  ›  技术社区  ›  Curtis White

数据绑定到子对象声明性语法?

  •  2
  • Curtis White  · 技术社区  · 14 年前

    数据绑定到复杂“对象”的格式是什么?我有一个包含的linq-to-sql类,即object.containedObject。

    我想引用声明性的子对象字段。

    所以我尝试过我的mysubfield.mybasicproperty,但没有成功,就像mysubfield.mybasicproperty一样。

    谢谢你的帮助!

    2 回复  |  直到 14 年前
        1
  •  0
  •   Curtis White    14 年前

    我找到了我的答案,这是BoundField类的问题,而不是数据绑定。

    http://www.iridescence.no/post/FixingBoundFieldSupportforCompositeObjects.aspx

        2
  •  0
  •   Curtis White    14 年前

    我找到了解决方案,并为将来追寻我的人分享。

    您需要重写ObjectDatasource更新方法来替换参数名。只有在未设置ObjectDatasource的ObjectypeName属性,否则它们将是只读的情况下,这才是可能的。

    下面是我的例子:

    protected void ObjectDataSource1_Updating(object sender, ObjectDataSourceMethodEventArgs e)
        {
            foreach (string currentKey in e.InputParameters.Keys)
            {
                if (currentKey.Contains("."))
                {
                    string newKey = currentKey.Replace(".", "_");
                    object myValue = null;
    
                    if (e.InputParameters[currentKey] != null)
                        myValue = e.InputParameters[newKey];
                    if (e.InputParameters.Contains(newKey))
                        e.InputParameters.Remove(newKey);
    
                    e.InputParameters.Add(newKey, myValue);
                    e.InputParameters.Remove(currentKey);
    
                }
            }