AMP4EMAIL:从模板中的状态设置表单值



amp-mustache模板中使用amp-bind时,我似乎无法通过 [value] 属性动态设置表单输入字段的值。此问题仅发生在 Gmail 客户端中。它在Gmail Amp Playground和浏览器中按预期工作。此问题发生在 Gmail 客户端中。它在Gmail Amp Playground(我认为应该反映Gmail客户端的行为(和浏览器中按预期工作。

此处提供了客户端代码的人为版本的要点。

任何建议/解决方法,非常感谢!

虽然可能不需要,但这是服务器端逻辑:

public class TestRequestModel {
public string TestId { get; set; }
}
private string ValidId = "correct";
[HttpPost]
public async Task<IActionResult> TestGetId([FromForm]AEGetRepresentativesRequestModel requestModel)
{
AddRequiredAmpHeaders();
if (requestModel == null)
{
return BadRequest(new {});
}
return Ok(new TestRequestModel { TestId = ValidId });
}
[HttpPost]
public async Task<IActionResult> TestUseId([FromForm]TestRequestModel requestModel)
{
AddRequiredAmpHeaders();
if (requestModel == null)
{
return BadRequest(new {});
}
if (requestModel.TestId != ValidId)
{
return BadRequest(new { Error = $"Invaild id: {requestModel.TestId}" });
}
return Ok(new { TestId = ValidId });
}

更新:似乎Gmail中还有第二个错误仍在影响这一点。

这是由Gmail中的一个错误引起的,该错误在与AMP.setState结合使用时会干扰event.response的工作方式。我刚刚检查过,现在似乎已修复,因此您的代码应该可以工作。

最新更新