これは私がこれまで遭遇したことのない問題です。
私はMVC4プロジェクトに取り組んでいます。ボタンに使用できるHtmlヘルパーがないため、aspボタンコントロールを使用しています(re: @Html.Button はありません! )。私のボタンコードは次のとおりです。
<td><asp:Button ID="ButtonUndo" runat="server" Text="Undo"
OnClick="ButtonUndo_Click" AutoPostBack="true"/></td>
[デザイナー] タブに移動し、イベント ハンドラーを生成するこのボタンをクリックしました。
protected void ButtonUndo_Click(object sender, EventArgs e)
{
RRSPSqlEntities db = new RRSPSqlEntities();
int id = (int)ViewData["ClientId"];
var updateAddress = (from a in db.Address
where a.PersonId == id
select a).SingleOrDefault();
updateAddress.Deleted = false;
db.SaveChanges();
}
このコードは、スクリプト タグでラップされた同じ .aspx ページに追加されたことを付け加えておきます。また、このセクションには Page_Load メソッドがあります。イベント ハンドラが Page_Load 内にありません。
ブレークポイントを設定してコードをステップ実行したときに問題が見つかりました。ボタンをクリックすると、イベント ハンドラにまったくヒットしないことがわかります。特に ASP がデザイン モードでボタンをクリックしてイベントを作成したため、これがなぜなのかわかりません。