2017-03-23 19 views
0

フィルタに検索ボタンがあり、これをクリックすると別のボタンを表示する必要があります。このボタンはポストバックをトリガしないため、ページは更新されず、ボタンは表示されません。ページが最初にロードされると、DelStatusというブール値がtrueに設定されます。検索ボタンをクリックした後、これが真であれば、btnEPODToExcelを表示する必要があります。私は、可視性を変更し、スタイルを変更しようとしたJavaScriptから表示を変更しました:別のボタンをクリックするとボタンを表示

protected void btnSearch_Click(object sender, EventArgs e) 
{ 
    if (DelStatus == true) 
    { 
     btnEPODToExcel.Attributes.Add("style", "display:block"); 
     btnEPODToExcel.Visible = true; 

     ClientScript.RegisterClientScriptBlock(this.GetType(), "Message", 
               "<script>$(document).ready(function() { ShowEPODExcel();});</script>"); 
    } 
} 

はJavaScript:

function ShowEPODExcel() 
      { 
       document.getElementById('<%= btnEPODToExcel.ClientID %>').style.display= "block"; 
       $('#<%= btnEPODToExcel.ClientID %>').show(); 
      } 

ボタン:

<asp:LinkButton runat="server" ID="btnEPODToExcel" CssClass="btnToExcel" Width="100px" ToolTip="Download Result to Excel" OnClick="btnEPODToExcel_Click" Text="EPODs to Excel" /> 
+1

あなたのスクリプトがうまくいっていることを確認するために警告を発しましたか? jqueryのonclick関数の使用に関する問題はありますか? – ReadyFreddy

+0

関数ShowEPODExcelが呼び出されているかどうかを確認してください。実行された場合は、レンダリング後にボタンの属性をチェックします。 –

+0

@ReadyFreddy関数ShowEPODExcelが呼び出されていません。どこかでミスを犯したのですか? – user123456789

答えて

0

あなたはJS関数を呼び出しているがbtnSearchをクリック(クライアントクリック)し、falseを返します。

のjQueryを使用について問題がない場合、あなたはそれを試すことができbtnSearch_Clickメソッドを削除し、それを

+0

これは答えではなく、 –

+0

というコメントであるようですが、私の答えは例外ではありません。 –

0

を再作成しようとしない場合。

$(document).ready(function() { 

    $("#btnSearchClick").on('click', function() { 
     window.alert("Hello"); 
     document.getElementById('btnEPODToExcel').style.display = "block"; 
     $('btnEPODToExcel').show(); 
     return false; 
    }); 
}); 

しかし、単純にバックポストしません。ポストバックアクションを作成したいのであれば、このボタンを表示または非表示にするセッションを保持することしかできません。 btnSearchClick_Clickメソッドでセッション値を変更し、セッション値でボタンの表示をPage_Loadに設定します。

「ハロー」アラートが表示されない場合は、フォームにJavascriptを追加する際に間違いを犯した可能性があります。

0

btnSearch_Clickが呼び出されたとします。あなたのコードに以下の変更を加えることをお勧めします。

ボタン

<asp:LinkButton runat="server" ID="btnEPODToExcel" style="display:none" Width="100px" ToolTip="Download Result to Excel" OnClick="btnEPODToExcel_Click" Text="EPODs to Excel" /> 

コードビハインド

if (DelStatus == true) 
{ 
    btnEPODToExcel.Attributes.Add("style", "display:block"); 

} 

この情報がお役に立てば幸いです。

0

boolの代わりにDelstatusの値を隠しフィールドに格納し、javascriptを使用してそれを再生する以外の方法がない場合は、 もう一つの方法は@kalyan Basaの回答

関連する問題