-4

質問があります。どんな助けでも大歓迎です。私はこれを明確に説明していることを願っていますが、私が単に私に知らせないのであれば、私はしばらくの間オンになります。これはC#で記述されており、「OnClientClick」部分に「JavaScript()」と呼ばれるjavascript関数を呼び出すボタンがあり、「OnClick」部分に「ifステートメント」があります。最初の部分はOnClientClick関数に似ています。 2番目の部分は、OnClientClickに関連しない別のコードを表します。

DefaultPage.aspx:

<asp:Button ID="Button1" runat="server" Text="Button" 
 OnClick="Button1_OnClick" 
 OnClientClick="JavaScript()"  />

DefaultPage.aspx.cs:

protected void Button1_OnClick(object sender, EventArgs e)
   {
  String a = getValueofA();

  If (a == "1")
  {
            //OnClientClick code goes here
  }
  else If (a == "2")
  {
     //No OnClientClick code goes here
  }
 }

このjavascript関数は、この「DefaultPage」にロードしている別のWebコントロールからのものです。Button1_OnClickに「ifステートメント」を追加するまで、これは私にとって完璧に機能しました。元々は「ifステートメント」の最初の部分がありましたが、今度はその2番目の部分を追加する必要があります。どうすればこれを達成できますか。button1.OnClientClickを試しましたが、Page_Loadでのみ機能します。最初に「a」の値を決定してから続行する必要があります。よくわからない場合は申し訳ありませんが、質問にはお答えできます。本当にありがとう。私の目標は、asp.netボタンから「OnClientClick = JavaScript」を削除し、ifステートメント内でその関数を呼び出すことです。

4

2 に答える 2

0

あなたの質問を理解したかどうかはわかりませんが、コードビハインドからJavaScriptコードを実行したいようです。コードビハインドでScriptManagerを使用して、そこからjavascriptを実行するのはどうですか?以下のように

    // write your onclientclick code here
    ScriptManager.RegisterStartupScript(this, typeof(string), "JAVA_SCRIPT", "your javascript() function code here", true);
于 2013-01-29T00:21:37.650 に答える
0

どのようなエラーが発生していますか?C#で大文字になっていない場合。

http://msdn.microsoft.com/en-us/library/5011f09h(v=vs.100).aspx

編集:

コメントに基づいて、私はあなたが完全にクライアント側に行く方が良いと思います。

<script type="text/javascript">
function NewFunction(){
    var a = getValueOfA();
    if (a === "1")
    {
        JavaScript();
    }
    else if ( a==="2" )
    {
        //other code
    }
}
</script>

<asp:Button ID="Button1" runat="server" Text="Button" 
 OnClientClick="NewFunction()"  />
于 2013-01-29T00:37:27.830 に答える