我在自定义控件中有一个图像按钮,如下所示。
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函数。我在网页中设置SearchTableName
和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";
}
现在遇到问题,当我点击图片按钮时,SearchTableName
和SearchColumnName
值不会出现。我想我正在调用OnClientClick
函数,这就是没有设置值的原因。但是如何根据网页中的值设置设置自定义控件的值。如果我使用Click
功能,它是否符合我的目的?如果是这样,如何从这个点击事件中调用该javascript函数。
答案 0 :(得分:1)
终于得到了解决方案。我正在初始化自定义控件中页面init
方法中的值。这就是我没有捕获我在可视webpart页面中设置的值的原因。现在我更改了CreateChildControl
方法中的值的初始化。现在它完美无缺。谢谢。