1

C# の奇妙な問題に気付き、何週間も頭を悩ませていたので、この質問を公開したと思いました。<form>したがって、私の質問は基本的に、C#がサーバー フォーム内の複数のクライアントをどのように処理するの<form runat="server">かということです。Web サイトを作成していて、非常に奇妙な問題に遭遇しました。

したがって、この問題を再現するための本質的な内訳は次のとおりです。

1)呼び出された場合に発生するアラートを内部に持つ単純なjavascriptメソッドを用意します。

 eg:   function tester() {
         alert("adf");
       }

2) Visual Studios 2010 で新しい Web フォーム プロジェクトを開きます (<form runat="server">内部に が既に作成されているはずです)。

  eg: <form runat="server"> <form/>
     You can only have one of these.

3) このフォーム タグ内に、理論的には何もしない空のフォーム タグを記述します。

  eg: <form action=""><form/>

4) このフォームの直後に、javascript メソッドを呼び出す別のフォームを作成します。

  eg: <form action="javascript:tester()" >
       <button type="submit" >Search</button>
        </form>

5) このコードを今すぐ実行すると、ボタンを押した後にアラートがポップアップ表示されます。

6) 空のフォームタグを取り出します: 削除: <form action=""><form/>

7) コードを再度実行すると、javascript 呼び出しが実行されなくなり、ボタンを押すたびにページが更新されることがわかります。

だから、これは私を悩ませてきた私の問題であり、長い間頭を悩ませてきたので、グルがすぐに答えてくれることを願っています. 2 つのフォームで機能する理由と、1 つのフォームだけでは機能しない理由がわかりません。誰かがすぐにこれに答えてくれることを願っています。よろしくお願いします!!!

役立つ情報:

このページによると、複数の「クライアント」ベースのフォームタグを使用できますが、それは問題にはなりません...

複数のサーバー側 Form タグを含むページを作成できないのはなぜですか?

...しかし...問題はどういうわけかまだ現れています。

4

1 に答える 1

2

formタグ内にタグを持つことformは html 仕様に反するため、結果は未定義の動作になります。

あなたの特定の問題について、これを行うことはできませんか?

<button onclick="tester();">Search</button>
于 2012-09-10T19:34:17.583 に答える