我已经为Textbox创建了一个扩展类,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MyApplication.App_Code
{
public class DateTextBox : TextBox
{
protected override void OnPreRender(EventArgs e)
{
//this is what iwant to do :
//((TextBox)sender).Attributes.Add("placeholder", "dd/mm/yyyy");
base.OnPreRender(e);
}
}
}
我需要添加一个"占位符"属于prerender上的文本框控件,但我不确定如何引用发件人文本框控件。
答案 0 :(得分:3)
您只需使用this
:
this.Attributes.Add("placeholder", "dd/mm/yyyy");
答案 1 :(得分:3)
当前实例是您的文本框。使用this.Attributes
?
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.Attributes.Add("placeholder", "dd/mm/yyyy");
}
答案 2 :(得分:2)
所以简单地使用:
Attributes.Add("placeholder", "dd/mm/yyyy");
记住,this
会自动考虑。所以上面的陈述与:
this.Attributes.Add("placeholder", "dd/mm/yyyy");
答案 3 :(得分:1)
在@ kind.code上添加你需要在
之后写出attributes.addprotected override void OnPreRender(EventArgs e)
{
// Run the OnPreRender method on the base class.
base.OnPreRender(e);
// Add Attributs on textbox
this.Attributes.Add("placeholder", "dd/mm/yyyy");
}
另一个选项
我认为你不需要完成Textbox
的所有覆盖
你可以写简单的..as
<asp:TextBox ID="TextBox1" runat="server" placeholder="dd/mm/yyyy" ></asp:TextBox>