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 函数。我在我们正在使用这个自定义控件的网页中设置SearchTableNameand ,如下所示。SearchColumnName在消费之前,我在带有注册标签的网页中注册了这个控件。

<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 函数。

4

1 回答 1

1

终于得到解决方案。我正在init自定义控件中的页面方法中初始化值。这就是为什么我在可视 webpart 页面中设置的值没有被捕获的原因。现在我更改了CreateChildControl方法中的初始化值。现在它完美地工作了。谢谢你。

于 2012-12-07T12:40:35.113 回答