当前位置:编程学习 > C#/ASP.NET >>

服务器控件开发:自定义属性的添加与获取。添加成功了,获取失败。

添加属性找到办法了,如下:

    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  --------------------编程问答-------------------- 楼上能说的详细些吗? --------------------编程问答-------------------- 如梦大哥总是写一段,然后让你自己去深思 --------------------编程问答--------------------
引用 2 楼 wuyq11 的回复:
protected override void RenderContents(HtmlTextWriter output)
  {
  output.Write(Text);
  base.Render(output);
  base.RenderBeginTag(output);
  base.RenderContents(output);
  base.RenderEndTag(o……


IPostBackEventHandler.RaisePostBackEvent 是什么提示?
能明确的说一下吗? --------------------编程问答--------------------
引用 4 楼 a278342801 的回复:
如梦大哥总是写一段,然后让你自己去深思

嗯,我正在想。。。 --------------------编程问答-------------------- 看了半天,好像是不行的。
如果触发回传的不是当前控件,那么控件中的RaisePostBackEvent就不会被调用 。

--------------------编程问答--------------------
引用楼主 aricc 的回复:
我的目的是想在客户端,用JS改变<div>标签中key status属性的值,Postback后控件在Render前能获取之前修改后的值并更新。
但是我一直没有找到在什么地方可以做这个工作。也开始怀疑是不是无法做到。


两个东西你都没有搞明白。

第一,浏览器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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,