数据绑定到一个复杂的“对象”的格式是什么?我有一个LINQ到包含的sql类,即object.containedobject。数据绑定到子对象声明性语法?
我想引用声明的子对象字段。
所以我试过我的MySubField.MyBasicProperty,并没有工作,以及MySubField_MyBasicProperty。
感谢您的帮助!
数据绑定到一个复杂的“对象”的格式是什么?我有一个LINQ到包含的sql类,即object.containedobject。数据绑定到子对象声明性语法?
我想引用声明的子对象字段。
所以我试过我的MySubField.MyBasicProperty,并没有工作,以及MySubField_MyBasicProperty。
感谢您的帮助!
我找到了解决方案,并分享的人谁在未来后我来了。
您需要重写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);
}
}
我找到了我的答案,这是boundfield类的问题,而不是数据绑定。
http://www.iridescence.no/post/FixingBoundFieldSupportforCompositeObjects.aspx
这提出了另一个问题,即更新不再工作。建议? – 2010-03-10 16:02:03
另一件事,不应该修改foreach中的集合,以便修复。 – 2010-03-12 14:46:18