2013-04-19 5 views
1

Я столкнулся с довольно странным поведением, которое я не могу объяснить. У меня есть следующие формы на одной моей странице ASP.net:ASPX Форма без вызова codebehind on submit

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Codebehind.aspx.cs" Inherits="Myclass.Test" %> 
<form name="application" id="application" method="post"> 
<asp:Table runat="server" width="840" border="0" align="center" cellspacing="0" cellpadding="0" id="tbl_test"> 
... 
<asp:TableRow> 
<asp:TableCell ColumnSpan="2" HorizontalAlign="Center" style="padding-top:10px"> 
<asp:Button onClick="Click" ID="btn" runat="server" Text="Submit!" Height="30" Width="150" /> 
</asp:TableCell> 
</asp:TableRow> 
</asp:Table> 

В разделе aspx.cs сборку У меня есть защищаемый функция «Нажмите», которые должны быть уволена после того, как пользователь нажимает на кнопку в форме. Однако это не так. Ничего не происходит, я нажимаю кнопку, и функция в моем коде никогда не сможет выполнить свою задачу.

Что мне здесь не хватает?

+0

Kenneth является правильным. Голосование закрывается как «слишком локализованное», так как это просто опечатка более или менее. – jadarnel27

ответ

4

Вам нужно добавить атрибут runat="server" в виде

+0

У меня уже есть другая форма на сайте с атрибутом runat = "server". Если я добавлю этот атрибут, у меня появится другое сообщение об ошибке, что страница может иметь только одну форму с runat = "server". –

+0

Тогда, по крайней мере, вам нужно установить атрибут Action вашей формы. Однако в этом случае события click не будут подняты. Веб-формы ASP.NET на самом деле полностью поддерживают только одну форму на страницу из-за своей настольной модели программирования. (Да, глупо, я знаю). Если вы хотите, чтобы решение было ближе к реальному HTTP и браузерному способу делать вещи, вы должны заглянуть в ASP.NET MVC, но я думаю, что это, вероятно, невозможно. – Kenneth

+0

Хорошо, спасибо за вашу помощь. –

0

Вы используете форму с валидациями? Если да, используйте

<asp:Button ID="btn" runat="server" onClick="Click" Text="Submit" CausesValidation="false" />