逮到mono asp.net的bug——多行文本框呈现内容前面有空格
作者:V君 发布于:2015-3-12 23:34 Thursday 分类:折腾手记
这个问题只有用它的人才会遇到, 也不多扯了, 直接贴代码!
[ValidationProperty("Text")]
[ControlValueProperty("Text")]
[DefaultProperty("Text")]
public class TextArea: WebControl, IPostBackDataHandler, IEditableTextControl
{
protected override HtmlTextWriterTag TagKey
{
get { return HtmlTextWriterTag.Textarea; }
}
public bool CausesValidation
{
get
{
if (ViewState["CausesValidation"] == null)
return false;
return (bool)ViewState["CausesValidation"];
}
set
{
ViewState["CausesValidation"] = value;
}
}
public string ValidationGroup
{
get
{
return (string)ViewState["ValidationGroup"] ?? "";
}
set
{
ViewState["ValidationGroup"] = value;
}
}
public string Text
{
get
{
return (string)ViewState["Text"] ?? "";
}
set
{
ViewState["Text"] = value;
}
}
public bool ReadOnly
{
get
{
if (ViewState["Readonly"] == null)
return false;
return (bool)ViewState["Readonly"];
}
set
{
ViewState["Readonly"] = value;
}
}
public int Rows
{
get
{
if (ViewState["Rows"] == null)
return 0;
return (int)ViewState["Rows"];
}
set
{
ViewState["Rows"] = value;
}
}
public int Columns
{
get
{
if (ViewState["Columns"] == null)
return 0;
return (int)ViewState["Columns"];
}
set
{
ViewState["Columns"] = value;
}
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Name, UniqueID);
if (Enabled && !IsEnabled)
writer.AddAttribute(HtmlTextWriterAttribute.Disabled, "disabled");
if (ReadOnly)
writer.AddAttribute(HtmlTextWriterAttribute.ReadOnly, "readonly");
if (Rows != 0)
writer.AddAttribute(HtmlTextWriterAttribute.Rows, Rows.ToString());
if (Columns != 0)
writer.AddAttribute(HtmlTextWriterAttribute.Cols, Columns.ToString());
base.AddAttributesToRender(writer);
}
public override void RenderControl(HtmlTextWriter writer)
{
RenderBeginTag(writer);
writer.WriteEncodedText(Text);
RenderEndTag(writer);
}
public bool LoadPostData(string postDataKey, NameValueCollection postCollection)
{
var strPostBack = postCollection[postDataKey];
if (ReadOnly || Text.Equals(strPostBack, StringComparison.Ordinal))
return false;
Text = strPostBack;
return true;
}
public void RaisePostDataChangedEvent()
{
if (!Page.IsPostBackEventControlRegistered)
{
Page.AutoPostBackControl = this;
if (CausesValidation)
Page.Validate(ValidationGroup);
}
TextChanged(this, EventArgs.Empty);
}
public event EventHandler TextChanged = delegate { };
} 标签: 软件开发 C# bug ASP.NET WebForm mono
ASP.NET WebForm 纯代码呈现页面, 不带aspx或ashx
作者:V君 发布于:2015-3-2 22:54 Monday 分类:折腾手记
这些天继续折腾相对MVC老掉牙的WebForm,做个自己的数据管理前端.
泥萌就用连表单验证都要自己加脚本的MVC吧,还是觉得高度集成的WebForm好使.
目前几乎没用到ASPX文件了, 全靠代码创建表单控件树.
谁说我大ASP.NET只是拖拖控件而已的!
由于已经把基础页面类封装得近乎完整(当然还不完美).每添加一个数据库表管理页面只需要继承一下页面基类就能完整实现列表查询/输入表单以及回传事件处理.
那么问题来了: 能不能把ASPX扔掉? 因为现在它只充当个一般处理程序一样的存在,但是一般处理程序似乎不能处理控件树.
答案是可以!
blogger
Google Web Translator
热门日志
随机日志
最新日志
最新评论
- V君
@Ninokz:山口山 - Ninokz
时隔6年(2019年... - V君
@Quartz:(出现)... - Quartz
怎么不见人了呢... - V君
@Soar:DHCP 协议相... - V君
@Soar:当然是非... - Soar
@V君:谢谢 有空... - Soar
搞一个 1230v3+B85... - V君
@Soar:另外,也可... - V君
@Soar:iscsi服务端...
分类
存档
- 2024年5月(1)
- 2023年7月(1)
- 2023年5月(1)
- 2022年11月(1)
- 2022年10月(1)
- 2022年9月(1)
- 2022年8月(1)
- 2022年7月(1)
- 2022年6月(1)
- 2022年5月(2)
- 2022年4月(1)
- 2022年3月(1)
- 2022年2月(1)
- 2022年1月(1)
- 2021年12月(1)
- 2021年11月(1)
- 2021年10月(1)
- 2021年9月(1)
- 2021年8月(1)
- 2021年7月(1)
- 2021年6月(1)
- 2021年5月(1)
- 2021年4月(1)
- 2021年3月(1)
- 2021年2月(1)
- 2021年1月(1)
- 2020年12月(1)
- 2020年11月(1)
- 2020年10月(2)
- 2020年9月(1)
- 2020年8月(1)
- 2020年7月(1)
- 2020年6月(1)
- 2020年5月(1)
- 2020年4月(2)
- 2020年3月(3)
- 2020年2月(1)
- 2020年1月(1)
- 2019年12月(1)
- 2019年11月(1)
- 2019年10月(1)
- 2019年9月(1)
- 2019年8月(2)
- 2019年7月(1)
- 2019年6月(1)
- 2019年5月(1)
- 2019年4月(1)
- 2019年3月(1)
- 2019年2月(1)
- 2019年1月(2)
- 2018年12月(2)
- 2018年11月(1)
- 2018年10月(3)
- 2018年9月(4)
- 2018年8月(6)
- 2018年7月(4)
- 2018年6月(1)
- 2018年5月(2)
- 2018年4月(2)
- 2018年3月(3)
- 2018年2月(1)
- 2018年1月(1)
- 2017年12月(1)
- 2017年10月(2)
- 2017年9月(1)
- 2017年8月(2)
- 2017年7月(1)
- 2017年6月(5)
- 2017年5月(2)
- 2017年4月(2)
- 2017年3月(3)
- 2017年2月(2)
- 2017年1月(2)
- 2016年12月(3)
- 2016年11月(2)
- 2016年10月(3)
- 2016年9月(4)
- 2016年8月(2)
- 2016年7月(4)
- 2016年6月(3)
- 2016年5月(1)
- 2016年4月(4)
- 2016年3月(3)
- 2016年2月(1)
- 2016年1月(5)
- 2015年12月(4)
- 2015年11月(5)
- 2015年10月(1)
- 2015年9月(6)
- 2015年8月(4)
- 2015年7月(1)
- 2015年6月(6)
- 2015年5月(3)
- 2015年4月(3)
- 2015年3月(2)
- 2015年2月(1)
- 2015年1月(3)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年9月(3)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(3)
- 2014年4月(1)
- 2014年3月(1)
- 2014年2月(2)
- 2014年1月(1)
- 2013年12月(2)
- 2013年11月(2)
- 2013年10月(1)
- 2013年9月(3)
- 2013年8月(14)
- 2013年7月(7)
- 2013年4月(1)
- 2013年3月(4)
- 2013年2月(6)
- 2013年1月(6)
- 2012年12月(8)
- 2012年11月(6)



