почему мы используем javascript: WebForm_DoPostBackWithOptions? как изменить валидации в нем? [Дубликат]

15
задан Joyin 10 December 2013 в 18:11
поделиться

3 ответа

Если вы устанавливаете свойство 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);
6
ответ дан Bhalchandra Kadam 26 August 2018 в 03:51
поделиться

Поймите, что в визуализированном HTML не существует такой вещи, как «ASP.NET Controls», который веб-сервер выводит в ответ на запрос пользователя. Все элементы управления ASP.NET do отображают некоторый HTML таким образом, что все работает на сервере как ожидается. Элемент управления Button испускает атрибут «onclick», чтобы вызвать некоторый JavaScript, который приведет к тому, что данные формы будут отправлены обратно на сервер (если любые валидаторы на стороне клиента не предотвращают его).

причина для использования этого метода для отправки данных обратно, как я уже упоминал, чтобы дать любому сценарию на стороне клиента возможность запускаться первым, например, элементы проверки достоверности данных, которые могут проверять и видеть, не заполнены ли какие-либо обязательные поля.

В принципе, если вы не хотите создавать свои собственные серверные элементы управления ASP.NET, вам не нужно слишком беспокоиться о том, что именно испускается как окончательный ответ от IIS. Хорошо быть знакомым с тем, что происходит (и я, конечно же, не говорю, что вам не следует точно узнать, как серверные элементы управления выполняют свою задачу), но вам не нужно быть близко знакомым с каждым клиентским вызовом и параметром, который ASP.NET делает для начала работы.

6
ответ дан Mike U 26 August 2018 в 03:51
поделиться
0
ответ дан motogeek 26 August 2018 в 03:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: