0

我在 asp.net 中有一个网站,我正在创建 AMP 页面http://mywebsite.com/amp/......

除了以下错误之外,我能够对 AMP 进行所有必要的更改。

属性“action”可能不会出现在标签“FORM [method=POST]”中

我网站中的 Form 标签看起来像这样

<form name="form1" method="post" id="form1">

AMP 教程建议使用action-xhr=/default.aspx而不是action="default.aspx

这是来源:https ://ampbyexample.com/components/amp-form/

现在,问题是如何action-xhr在 asp.net 中删除操作属性和添加属性。

我在cs文件中尝试了以下代码,但没有运气。

this.Page.Form.Attributes.Remove("action");

请注意JavaScriptjQuery不允许在 AMP 中使用

4

1 回答 1

0

查看MSDN 文档,其中谈到了ActionlessForm. 您基本上继承HtmlForm,并用您的新控件替换 aspx 页面上的表单标记。您必须像他们建议的那样用以下代码替换一些代码:

base.Attributes.Remove("action");
writer.WriteAttribute("action-xhr", this.Action);

对我来说就像一个魅力。您可能需要替换this.Actionthis.Page.Request.Path,并且您可能会发现还需要添加一个target属性,但这肯定会让您走上正确的道路。

于 2017-11-06T00:53:32.637 回答