ufoTextBox 控件:
public class ufoTextBox : TextBox
{
[TypeConverter( typeof (SubmitableControlConvertor)), DefaultValue( "" ),Category( " Behavior " )]
public string SubmitControl
{
get
{
object ret = this .ViewState[ " SubmitControl " ];
if (ret != null )
{
return ( string ) ret;
}
return string .Empty;
}
set
{
this .ViewState[ " SubmitControl " ] = value;
}
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base .AddAttributesToRender(writer);
if ( this .SubmitControl.Length > 0 )
{
Control con = FindControl(SubmitControl);
if (con != null )
{
string script = " if(event.keyCode == 13){document.getElementById(' " + con.ClientID + " ').click();event.returnValue=false;} " ;
writer.AddAttribute( " onkeydown " ,script);
}
}
}
}
自定义的 Converter,用于设计时支持:
public class SubmitableControlConvertor : StringConverter
{
private object [] GetControls(IContainer container)
{
ComponentCollection components = container.Components;
ArrayList ret = new ArrayList();
foreach (IComponent control in components)
{
if ( ! (control is Button || control is LinkButton || control is ImageButton))
{
continue ;
}
Control button = (Control) control;
if ((button.ID != null ) && (button.ID.Length != 0 ))
{
ret.Add( string .Copy(button.ID));
}
}
ret.Sort(Comparer.Default);
return ret.ToArray();
}
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
if ((context != null ) && (context.Container != null ))
{
object [] controls = this .GetControls(context.Container);
if (controls != null )
{
return new TypeConverter.StandardValuesCollection(controls);
}
}
return null ;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false ;
}
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true ;
}
}
public class ufoTextBox : TextBox
{
[TypeConverter( typeof (SubmitableControlConvertor)), DefaultValue( "" ),Category( " Behavior " )]
public string SubmitControl
{
get
{
object ret = this .ViewState[ " SubmitControl " ];
if (ret != null )
{
return ( string ) ret;
}
return string .Empty;
}
set
{
this .ViewState[ " SubmitControl " ] = value;
}
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base .AddAttributesToRender(writer);
if ( this .SubmitControl.Length > 0 )
{
Control con = FindControl(SubmitControl);
if (con != null )
{
string script = " if(event.keyCode == 13){document.getElementById(' " + con.ClientID + " ').click();event.returnValue=false;} " ;
writer.AddAttribute( " onkeydown " ,script);
}
}
}
}
自定义的 Converter,用于设计时支持:
public class SubmitableControlConvertor : StringConverter
{
private object [] GetControls(IContainer container)
{
ComponentCollection components = container.Components;
ArrayList ret = new ArrayList();
foreach (IComponent control in components)
{
if ( ! (control is Button || control is LinkButton || control is ImageButton))
{
continue ;
}
Control button = (Control) control;
if ((button.ID != null ) && (button.ID.Length != 0 ))
{
ret.Add( string .Copy(button.ID));
}
}
ret.Sort(Comparer.Default);
return ret.ToArray();
}
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
if ((context != null ) && (context.Container != null ))
{
object [] controls = this .GetControls(context.Container);
if (controls != null )
{
return new TypeConverter.StandardValuesCollection(controls);
}
}
return null ;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
return false ;
}
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true ;
}
}