web-dev-qa-db-ja.com

ASP.NETボタンがクリックイベントで発生しない

私はAsp.netを初めて使用するので、私の質問はそれほど専門的ではないかもしれません。私のasp.net Webフォームプロジェクトで demy.com のデザインを使用しています。 udemyのヘッダーとフッターをmasterpageに入れました。しかし、m個のWebフォームの1つにボタンを追加すると、クリックイベントが発生しません。

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

protected void Button1_Click1(object sender, EventArgs e)
{
    Page.Title = "Sample Text";
}

この問題を修正するために、ページからすべてのスクリプトを削除しました。また、CausesValidationをFalseに設定しようとしました。しかし、何も助けにはなりません。この問題の解決を手伝っていただけませんか?

更新

OnClickイベントをコードに追加しました。しかし、私はまだその問題に直面しています。

7
user3138901

OnClickイベントを「.aspx」ファイルに「追加」したことを除いて、これまでのすべての回答は正しいです。あなたが使用しているテンプレートの何かなのか、それともコードの他の場所なのかはわかりません。しかし、私はあなたが以下をチェックすることをお勧めします(同様の状況で行き詰まったという私の経験に基づく):

  1. ".aspx"ページにフィールドバリデーターはありますか?おそらく、これらのバリデーターの1つが起動され、エラーメッセージがない場合は起動されます。
  2. そのボタンをどこかからコピーしましたか?はいの場合は、デザインモードでボタンをダブルクリックして、新しいボタンを追加し、そのクリックイベントを追加してください。 「OnClick」ボタンのイベントが「.designer.cs」ファイルに登録されない場合があるため。
13
CodingMate

これはサンプルコードです。ボタンに "OnClick =" MyButton_Click "がありません。

aspx

<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />
code behind

protected void **MyButton_Click**(object sender, EventArgs e)
{
    // Put code here over there chuhu
}
4
user3827821

あなたが試すかもしれないいくつかのポイント...あなたが(アップデート後に)投稿したコードは動作するはずです。

  • ビジュアルスタジオのデザインパーツを開き、ボタンをダブルクリックすると、そのボタンのイベントクリックにつながります。イベントが1つもない場合は、イベントが作成されます。
  • ボタンはformタグ内にある必要があります。
  • クリックが発生するイベントをテストするには、ラベルやその他のマークアップの変更ではなくBreakpointsを使用しますが、必要な場合は... Titleコンポーネントにrunat="server"属性があり、更新パネル内にあります。
4
Michel Ayres

追加 CausesValidation = "false"ボタンの属性:

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" CausesValidation="false"></asp:Button>
2
Mayur Ajiwale

コードビハインドでクリックハンドラーを割り当てる場合は、IsPostBack == falseチェックの内部にないことを確認してください。

void Page_Load (object oSender, EventArgs oEventArgs)
{
   if (IsPostBack == false)
   {
       oButton += new EventHandler(oButton_Click); // does not work
   }
   oButton += new EventHandler(oButton_Click); // does work
}
1
Brett Weber

不足していますOnClick="Button1_Click"。このようなイベントを追加する必要があります

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
1
Sain Pradeep

これを試して

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

これはあなたのページディレクティブですか?

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
0
Nagaraj S

フォームタグ内にボタンを配置してみてください

なので

<form id="#" runat="Server">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
</form>
0
Vignesh Kumar A

他の入力要素の「必須」属性を確認して削除してください。それは私の場合で動作します。それを見つけるのにしばらくかかりました。

ここでもこの質問を読んでください。同じ問題 asp.net Button OnClickイベントが発生しない

0
Marselus Chia

オンラインで簡単な例をテストしてください aspdotnetfiddle

単一のボタンとラベルコントロールを備えたサンプルプログラムを作成しました。ボタンをクリックすると、ボタンのクリックイベントが発生し、ラベルテキスト値が割り当てられます。

0
user930323

Yourpage.aspx.designer.csファイルでボタンが適切に定義されていることを確認してください。

以下のようなコード:

protected global::System.Web.UI.WebControls.Button Button1;
0
Manoj Mevada

2つのボタンと2つの検証サマリーがある場合は、検証サマリー、テキストボックス、ボタンごとにValidationGroup = "Group2"を追加する必要があります。

そして、他の追加:ValidationGroup="Group1"の場合は、それで機能するはずです。

0
Mona Aldkheel

このようなページディレクティブ

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

[〜#〜] html [〜#〜]

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

次のコードはDefault.aspx.cs内にある必要があります

protected void Button1_Click(object sender, EventArgs e)
    {
        Page.Title = "Sample Text";
    }

どこに問題があるのか​​という私の推測はディレクティブに問題があるかもしれないということです

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

または、formタグ内のasp:Buttonタグを呼び出さなかったでしょう

 <form id="form1" runat="server">
    <div>

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

    </div>
    </form>

これはサンプルコードです。ボタンに "OnClick =" MyButton_Click "がありません。

aspx

<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />

コードビハインド

protected void **MyButton_Click**(object sender, EventArgs e)
{
    // Put code here
}

私の個人的な答えは、「Googleでもっと学ぶ必要がある」

Asp.netのいくつかの最高のチュートリアル

http://www.w3schools.com/aspnet/default.asp

http://www.asp.net/web-pages/tutorials

http://asp.net-tutorials.com/

http://quickstarts.asp.net/QuickStartv20/default.aspx そして MSDNウェブサイト から多くの知識を学ぶことができます

より多くのasp.netコントロールなどを理解できます...

0

問題が検証の起動であり、ボタンが検証をトリガーしてはならない場合は、CausesValidation = "false"をボタンの属性に追加することを検討してください。

0

あなたのボタンはこのようにする必要があります

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

これを試してください:

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

ボタンクリックイベントのイベントハンドラについては言及していません。

それが役に立てば幸い。

0
Sai Avinash

私の場合、マスターページの本文にボタンを追加していて、<form>タグが<body>タグ内にあったため、イベントは発生していませんでした。

<form>タグにボタンを追加することで問題を解決しました

古いコード

$('body').append($(".ButtonsDiv"));

新しいコード

$('#form1').append($(".ButtonsDiv"));

JavaScriptがページで警告なしに失敗し、処理が中止され、クリックイベントが発生しないようにすることができます。これが起こっていると思われる場合は、デバッグする前にスクリプトタグのすぐ下に貼り付けます。

window.onerror = function (message, filename, linenumber) {
        alert("JS error: " + message + " on line " + linenumber + " for " + filename);
}

本番用コードから削除します。

0
Resource