这里注意的一个问题是:
如果通过数据绑定的自定义参数,那么,自定义控件在OnInit或OnLoad事件中是检测不到该被绑定的数据的,需要在OnPreRender事件对被绑定的属性进行处理。

解决方案 »

  1.   

    另外,我定义了一个DROPDOWNLIST控件,通过给控件设置数据库、数据表、绑定的字段和缺省值,但我在OnPreRender事件中调用一个给控件绑定数据的方法时,我的缺省的设置无效(通过数据库绑定的数据),但我在OnPreRender事件的开始地方能检测到数据的存在,所以我就通过了一个中间变量实现:
    进入OnPreRender时把该数据给一个类域,然后在数据绑定方法中使用类域来绑定缺省值。具体请下载:http://www.gdee.com.cn/doc/geocalendar.zip
      

  2.   

    我用你的DROPDOWNLIST控件做了个测试文件,在OnPreRender事件中设置断点,用param='<%#this.ReturnSession("param")%>'方法传递参数,还是无法成功做法如下test.aspx<%@ Register TagPrefix="GEOControls" Namespace="GEOControls" Assembly="GEOControls"%>
    <%@ Page language="c#" Codebehind="test.aspx.cs" AutoEventWireup="false" Inherits="GEOControls.test" %>
    <form id="test" method="post" runat="server">
    <GEOControls:GeoDropDownList id="control" 
    SelectedValue='<%# Return() %>'
    DataBase='<%#Return()%>'
    DataTable='Hello'
    runat="server">
    </GEOControls:GeoDropDownList>
    </form>test.aspx.cs public string Return()
    {
    return "Hello";
    }如果给我个邮件地址,我可将代码mail过去请回复
      

  3.   

    能否给我一个自定义控件的代码。谢谢
    mail:[email protected]
    thanks
      

  4.   

    我现在也发现这个问题,就是给DROPDOWNLIST传递数据库名时报告错误,由于现在忙,过两天再检查。
      

  5.   

    为什么不直接在.cs指定所有需要传递的参数,反而要在.aspx中绑定?