0

にaspボタンがありますdefault.aspx

<asp:Button ID="Button1" runat="server" Text="Button" />

そして、次の手順がありますdefault.aspx.vb

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Panel1.Controls.Add(New LiteralControl(Date.Now))
End Sub

そして、先生は私に、まったく同じ操作(ボタンをクリックすると日付が表示される)を作成する方法を尋ねましたが、ポストバックもJavaScriptコードも使用しませんでした。そこにJavaコードを作成して使用することはできましたが、OnClientClick="return false"正しくないようです

4

1 に答える 1

2

ASP.Net ページのクライアント側を参照してください

あなたはできません。Button(input type=submit) のデフォルトの動作はsubmit/post、フォームのaction属性で指定された URL へのフォームです。

デフォルトの動作を防ぎたい場合は、javascript を記述する必要がありますreturn false

<asp:Button ID="btn" OnClientClick="return false" runat="server" Text="Button" />

デフォルトでは、asp.net はフォームを同じページ自体に投稿します。これを PostBack と呼びます。ブラウザでレンダリングされた html からのフォーム タグ アクション値を参照してください。同じページ名になります。

<input type =submit name ="btn" id="btn" 
  onclick="javascript:__doPostBack('btn','')"value ="Button">

次の組み込みの JavaScript コードはこれを行います。

<script>
                   function __doPostBack(eventTarget, eventArgument) {
                       document.Form1.__EVENTTARGET.value = eventTarget;
                       document.Form1.__EVENTARGUMENT.value = eventArgument;
                       document.Form1.submit();
                   }
</script>

サーバー側でどのイベントを発生させる必要があるかを検出するために、ページには以下のフィールドが自動的に追加されます。次のようなリクエストパラメーターで簡単にアクセスできますRequest.Params["__EVENTTARGET"]

<input type =hidden name ="__EVENTTARGET" value ="">
<input type =hidden name ="__EVENTARGUMENT" value ="">
于 2013-10-10T10:56:59.890 に答える