2012-12-05 28 views
1

我在自定义控件中有一个图像按钮,如下所示。如何将动态参数值设置为网页中的自定义控件

 public string SearchTableName = string.Empty; 
     public string SearchColumnName = string.Empty; 
     public string SiteURL = string.Empty; 
     ImageButton _imgbtn; 
     protected override void OnInit(EventArgs e) 
     { 
      _imgbtn = new ImageButton(); 
      _imgbtn.ImageUrl = ImageURL; 
      _imgbtn.OnClientClick = "ShowSearchBox('" + SiteURL +"/_layouts/CustomSearch/SearchPage/Searchpage.aspx?table_name=" + SearchTableName + " &column_name=" + SearchColumnName + "')"; 
     } 

点击图像按钮我想迁移到另一个窗口,这是一个弹出窗口。为此我写了一个javascript函数。我正在设置SearchTableNameSearchColumnName在我们正在使用此自定义控件的网页中,如下所示。在使用之前,我在注册标签的网页上注册了这个控件。

<ncc:SearchControl runat="server" ID="txtSearchControl" />在此网页的文件后面的代码中,我使用以下代码来设置值。

protected void Page_Load(object sender, EventArgs e) 
{ 
    txtSearchControl.ImageURL = "_layouts/Images/settingsicon.gif"; 
    txtSearchControl.SearchTableName = "Employees"; 
    txtSearchControl.SearchColumnName = "LastName"; 
    txtSearchControl.SiteURL = "http://Sp2010:8787"; 
} 

现在来这个问题,当我点击图像按钮SearchTableNameSearchColumnName值不来了。我想我打电话OnClientClick函数,这就是为什么值没有被设置。但是,如何根据网页中的值设置自定义控件的值。如果我使用Click函数,它会服务于我的目的吗?如果是这样,如何从该点击事件调用该JavaScript函数。

回答

1

终于有了解决办法。我正在初始化自定义控件中页面init方法中的值。这就是为什么我没有捕捉到我在可视Web部件页面中设置的值。现在我改变了初始化方法CreateChildControl中的值。现在它完美地工作。谢谢。

相关问题