在amp-bind
模板中使用amp-mustache
时,我似乎无法通过[value]属性动态设置表单输入字段的值。仅在Gmail客户端中会发生此问题。它可以在Gmail Amp Playground和浏览器中正常运行。 Gmail客户端仅仅发生此问题。它可以在Gmail Amp Playground(我认为应该反映Gmail客户端的行为)和浏览器中正常工作。
here的摘要与人为设计的客户端代码版本相同。
非常感谢任何建议/解决方法!
虽然可能不需要,但这是服务器端逻辑:
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 });
}
答案 0 :(得分:0)
更新:似乎还有一个second bug in Gmail仍在影响这一点。
这是由Gmail中的一个错误引起的,该错误与event.response
结合使用时干扰AMP.setState
的工作方式。我刚刚检查了一下,现在看来它已修复,因此您的代码应该可以使用。