做了一个输入框控件:
[DefaultProperty("Text")]
[ToolboxData("<{0}:ttttttt runat=server></{0}:ttttttt>")]
public class ttttttt: WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null)? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
} public ttttttt()
: base(HtmlTextWriterTag.Input)
{ } protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
writer.AddAttribute(HtmlTextWriterAttribute.Value, Text);
}
=================
可是在后台取不到输入的值!
[DefaultProperty("Text")]
[ToolboxData("<{0}:ttttttt runat=server></{0}:ttttttt>")]
public class ttttttt: WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("")]
[Localizable(true)]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null)? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
} public ttttttt()
: base(HtmlTextWriterTag.Input)
{ } protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
writer.AddAttribute(HtmlTextWriterAttribute.Type, "text");
writer.AddAttribute(HtmlTextWriterAttribute.Value, Text);
}
=================
可是在后台取不到输入的值!
解决方案 »
- 为什么网站发布后,有些图片看不到了?
- update 执行了也没有报错,但修改内容没有成功
- Girdview控件怎么实现内部数据超链接
- 想换个笔记本,做开发,用.net2008或者更高版本,需要电脑什么配置?
- ASP.Net下用OWC11开发一个在线报表
- 请问怎么设置Guid.NewGuid().tostring()的格式
- 请问DataGrid怎样绑定多个字段呢??
- 麻烦解释下sql的''号?就这里不了解....
- 谁能帮帮我 写个简单的多用户商城
- (一个民工的困惑)我用一个Button1虚拟激发file控件的浏览按钮,用一个web button2提交的时候,为什么要点击两次它才提交?
- 怎么设定input的高度,并且有垂直方向的下拉框?
- 保存到数据库时截断字段的错误该如何处理?立即揭帖!
试试.
if(Page.IsPostBack && Request.Pamas[this.UniqueID]!= null )
{
this.Text = Request.Pamas[this.UniqueID];
}把这段代码放在OnLoadViewstata之前,
只要写在OnSaveViewState之前,并且在你读取该值之前均可,
如果你要在Page_Load中读取,你要写在Control.Load事件发生之前,其它的倒没有什么要紧的
{
get
{
String s = (String)ViewState["Text"];
return ((s == null)? String.Empty : s);
}
set
{
ViewState["Text"] = value;
}
}
这段代码很清楚的表示,Text属性只有其它代码给它值的时候才会记录当用户改变了值,然后点击submit按钮,谁来改变这个值,这个值依然还是上次给他的那个值
这时应该 看它的值是否在Request 列表中并且在submit之后由自己给
public String Text
{
get
{
return (String)ViewState["Text"];
} set
{
ViewState["Text"] = value;
}
} public ttttttt()
: base(HtmlTextWriterTag.Input)
{ } public event EventHandler TextChanged; public virtual bool LoadPostData(string postDataKey,
NameValueCollection postCollection)
{ String presentValue = Text;
String postedValue = postCollection[postDataKey]; if (presentValue == null || !presentValue.Equals(postedValue))
{
Text = postedValue;
return true;
} return false;
} public virtual void RaisePostDataChangedEvent()
{
OnTextChanged(EventArgs.Empty);
} protected virtual void OnTextChanged(EventArgs e)
{
if (TextChanged != null)
TextChanged(this, e);
} protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Type, "input");
writer.AddAttribute(HtmlTextWriterAttribute.Value, Text);
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
}
==========================
writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);
这行比较重要!