none
sharepoint feature 开发中遇到的问题 RRS feed

  • 问题

  •  

    最近在做一个sharepoint的feature。在页面中要动态的生成一些控件,但是linkbutton后要为其添加Click事件的时候在页面上无法响应。鼠标悬停在linkbutton上的时候在浏览器左下角显示如下:

    BLOCKED SCRIPTwebform_dopostbackwithoptions(new webform_dopostbackwithoptions(....)) ...是一些参数忘记了具体是什么。

    因为在别的机器上做动态控件的事件的响应的时候知道要在Page_Load()中生成才能相应事件。但在做着feature 的也页面的时候我把控件的动态生成放在了OnLoad()这个事件内,但还是不行。而且把linkbutton的CausesValidation的属性设置为false,在鼠标指向时浏览器左下角显示的是_dopostback(...),这和我实验的机器的情况一样,但还是不响应事件。

    因为我做的这个linkbutton希望它能弹出一个模式窗口,所以没有设置它的postbackurl去跳转到另外的页面中,而且我要是把linkbutton换成button的话就可以相应事件了。但综合我当初的设计有些出入。

    因为是在公司工作,无奈用了自己从未接触过的asp,有很多的疑问可能很低级,请见谅。

    希望有人能帮我解决这个问题.

     

    说明一下我在实验机器上因为没有sharepoint环境为了实验动态生成控件所以是建了一个ASP.NET网站做得实验。

     

     

    2008年1月18日 19:17

答案

  • 我想你的feature是指webpart吧?在wp中放动态控件可以在重写CreateChildControl()方法,例如:

    LinkButton lbControl = null;

    protected overwrite void CreateChildControl()

    {

    if (lbControl == null)

    {

    lbControl = new LinkButton();

    lbControl.onclick += lbControl_OnClick(~~~~~);

    }

    this.Controls.Add(lbControl);

    }

     

    private void lbControl_OnClick(~~~~)

    {

    }

     

    *PS:在这直接手写的,有点错,不过大概就是这个样子

    另外,你只希望弹出一个模式窗口的话,没必要用服务器端控件,用一个HTML控件不更好么?

    HtmlButton lbControl = null

    protected overwrite void CreateChildControl()

    {

    if (lbControl == null)

    {

    lbControl = new HtmlButton();

    lbControl.Attributes.Add("onclick", "BLOCKED SCRIPT~~~~~");

    }

    this.Controls.Add(lbControl);

    }

    2008年2月20日 17:19