Если вы устанавливаете свойство PostBackUrl для элемента управления Button Button, это означает, что это перекрестная публикация, а затем структура asp.net вместо обычного __DoPostBack () добавляет «WebForm_DoPostBackWithOptions». Проверьте, есть ли у вас свойство «PostBackUrl» для этой кнопки.
<asp:Button id=Send runat="server" EnableViewState="False" PostBackUrl="~/Page2.aspx"
ToolTip="Email me this report" CssClass="Button" Text="Email me this report">
</asp:Button>
Если в вашем случае вы не установили «PostBackUrl», тогда структура ASP.NET также не добавляет это по умолчанию для кнопки Control, так что это означает, что должен быть другой элемент управления, значение атрибута OnClick, вероятно, с использованием следующего кода боковой стороны -
PostBackOptions myPostBackOptions = new PostBackOptions(this);
myPostBackOptions.ActionUrl = "Page2.aspx";
myPostBackOptions.AutoPostBack = false;
myPostBackOptions.RequiresJavaScriptProtocol = true;
myPostBackOptions.PerformValidation = true;
// Add the client-side script to the HyperLink1 control.
Button1.OnClientClick = Page.ClientScript.GetPostBackEventReference(myPostBackOptions);
Поймите, что в визуализированном HTML не существует такой вещи, как «ASP.NET Controls», который веб-сервер выводит в ответ на запрос пользователя. Все элементы управления ASP.NET do отображают некоторый HTML таким образом, что все работает на сервере как ожидается. Элемент управления Button испускает атрибут «onclick», чтобы вызвать некоторый JavaScript, который приведет к тому, что данные формы будут отправлены обратно на сервер (если любые валидаторы на стороне клиента не предотвращают его).
причина для использования этого метода для отправки данных обратно, как я уже упоминал, чтобы дать любому сценарию на стороне клиента возможность запускаться первым, например, элементы проверки достоверности данных, которые могут проверять и видеть, не заполнены ли какие-либо обязательные поля.
В принципе, если вы не хотите создавать свои собственные серверные элементы управления ASP.NET, вам не нужно слишком беспокоиться о том, что именно испускается как окончательный ответ от IIS. Хорошо быть знакомым с тем, что происходит (и я, конечно же, не говорю, что вам не следует точно узнать, как серверные элементы управления выполняют свою задачу), но вам не нужно быть близко знакомым с каждым клиентским вызовом и параметром, который ASP.NET делает для начала работы.