服务器控件开发:自定义属性的添加与获取。添加成功了,获取失败。
添加属性找到办法了,如下:
public class Card : WebControl
{
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
writer.AddAttribute("key", Key);
writer.AddAttribute("status", Status);
base.AddAttributesToRender(writer);
}
}
输出的HTML如下:
<div key="3" status="yes" id="Card2"></div>
我的目的是想在客户端,用JS改变<div>标签中key status属性的值,Postback后控件在Render前能获取之前修改后的值并更新。
但是我一直没有找到在什么地方可以做这个工作。也开始怀疑是不是无法做到。 --------------------编程问答-------------------- 帮顶。。。正在看疱丁解牛。。。还没入门 --------------------编程问答-------------------- protected override void RenderContents(HtmlTextWriter output)
{
output.Write(Text);
base.Render(output);
base.RenderBeginTag(output);
base.RenderContents(output);
base.RenderEndTag(output);
}
IPostBackEventHandler.RaisePostBackEvent --------------------编程问答-------------------- 楼上能说的详细些吗? --------------------编程问答-------------------- 如梦大哥总是写一段,然后让你自己去深思 --------------------编程问答--------------------
IPostBackEventHandler.RaisePostBackEvent 是什么提示?
能明确的说一下吗? --------------------编程问答--------------------
嗯,我正在想。。。 --------------------编程问答-------------------- 看了半天,好像是不行的。
如果触发回传的不是当前控件,那么控件中的RaisePostBackEvent就不会被调用 。
--------------------编程问答--------------------
两个东西你都没有搞明白。
第一,浏览器post的数据时什么机制?它如何自动产生post数据?如果不顺着人家的架构来接受你的所谓“获取”数据,你能做多少东西呢?
第二件事,显然你没有去理解服务器控件的 IPostBackDataHandler 架构。还是那句话,自己发明架构而不顺架构来设计,那么就自己发明asp.net算了。 --------------------编程问答-------------------- 去理解dhtml,到底是不是随便用javascript修改一个属性,就被浏览器自动 post?
去理解asp.net到底如何接受post数据,如何解析出post数据属于哪一个控件,如何保存控件的除了post来的数据以外的其它(可能上百个)数据? --------------------编程问答-------------------- 做了好事,却还让人骂你。
呵呵 --------------------编程问答-------------------- 顶sp,有时间要看看。。。 --------------------编程问答-------------------- 学习 。。。帮顶了。。 --------------------编程问答-------------------- <div key="3" status="yes" id="Card2"></div>
改为 <asp:Panel
补充:.NET技术 , ASP.NET