1

以下のようなカスタムコントロールに画像ボタンが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関数を作成しました。以下のように、このカスタム コントロールを使用している Web ページで と をSearchTableName設定しています。SearchColumnName消費する前に、このコントロールを register タグを使用して Web ページに登録しました。

<ncc:SearchControl runat="server" ID="txtSearchControl" />この Web ページのコード ビハインド ファイルでは、次のコードを使用して値を設定しています。

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関数を呼び出していると思うので、値が設定されていません。ただし、Web ページの値の設定に基づいてカスタム コントロールの値を設定する方法。Click関数を使用すると、目的に役立ちますか? もしそうなら、このクリックイベントからその JavaScript 関数を呼び出す方法。

4

1 に答える 1

1

ついに解決策を得た。initカスタムコントロールのpageメソッドの値を初期化しています。そのため、ビジュアルWebパーツページで設定している値がキャプチャされません。CreateChildControlここで、メソッドの値の初期化を変更しました。今では完全に機能します。ありがとうございました。

于 2012-12-07T12:40:35.113 に答える