Получение ошибки действия формы с AMP с использованием .NET Web Forms - PullRequest
0 голосов
/ 05 января 2019

Я получаю ошибку

Атрибут 'action' может отсутствовать в теге 'FORM [method = POST]'. (см. https://www.ampproject.org/docs/reference/components/amp-form)

При попытке проверить AMP с помощью веб-форм.

При чтении документации AMP необходим атрибут action-xhr, а не action. На этот бит здесь: <form method="post" action="./Default.aspx" id="form1" novalidate="" class="i-amphtml-form">

Кто-нибудь имеет опыт в этом / знает, как изменить action на action-xhr?

1 Ответ

0 голосов
/ 06 января 2019

Во-первых, я этого не делал, поэтому он основан только на быстром чтении amp-form (ссылка, которую вы предоставили).

ИМХО, в конце концов, вам придется избегать Web Forms для ваших страниц, которые вы хотите иметь форму AMP - основной механизм Web Forms - это POST back - что, просто по названию , означает «форма POST».

Взлом с этой основной функциональностью, вероятно, не стоит времени, и если вы это сделаете, вы, скорее всего, в итоге получите:

A отдельная AMP страница , где вы можете выполнять «чистые» сценарии HTTP-запросов / ответов ASP.Net или, что лучше, (imho) Razor aka ASP.Net Web Pages. Вот пример того, как выглядит Web Pages - конечно, вам придется адаптировать его к требованиям AMP по предоставленной вами ссылке.

Затем вы можете «сообщить» клиентам AMP (Google и т. Д.), Что ваша страница ASP.net Web Form имеет AMP версию:

<link rel="amphtml" href="https://www.example.com/url/to/amp/document.html">

REF: Сделать вашу страницу видимой

Надеюсь, это приведет вас на правильный путь.

...