e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
41 lines
1.3 KiB
C#
41 lines
1.3 KiB
C#
namespace System.Web.DynamicData {
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Globalization;
|
|
|
|
internal class DataBoundControlParameterTarget : IControlParameterTarget {
|
|
private Control _control;
|
|
public DataBoundControlParameterTarget(Control control) {
|
|
if (control == null) {
|
|
throw new ArgumentNullException("control");
|
|
}
|
|
_control = control;
|
|
}
|
|
|
|
public MetaTable Table {
|
|
get {
|
|
return _control.FindMetaTable();
|
|
}
|
|
}
|
|
|
|
public MetaColumn FilteredColumn {
|
|
get {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public string GetPropertyNameExpression(string columnName) {
|
|
// Get the DataKeyPropertyAttribute and use that as the to get the correct property name expression
|
|
DataKeyPropertyAttribute attribute = _control.GetType().GetCustomAttributes(true).OfType<DataKeyPropertyAttribute>().FirstOrDefault();
|
|
if ((attribute != null) && !String.IsNullOrEmpty(attribute.Name)) {
|
|
return attribute.Name + String.Format(CultureInfo.InvariantCulture, "['{0}']", columnName);
|
|
}
|
|
//
|
|
return String.Empty;
|
|
}
|
|
}
|
|
}
|