在过去的几年里,我一直生活在 MVC 世界中,我只是无法回到 WebForms 世界中。
我必须尝试将外部支付通道集成到 4 步流程中。最后一步涉及将一些值发布到给定的 URL。此 URL 需要具有预定义名称的值的预设列表(即,我无法更改它所期望的值)。
我遇到的问题是在我要发布的表单上填充从步骤 1-3 获得的值。
假设我需要发送 3 个值(还有更多但原理相同):
- amount
- returnurl
- name
我可以写一个表格
<form action="http://url/goes/here">
<p>Please confirm the details below</p>
<asp:TextBox id="amount" runat="server" />
<asp:TextBox id="returnurl" runat="server" />
<asp:TextBox id="name" runat="server" />
<asp:Button id="submitme" />
</form>
并轻松地从代码隐藏中预先填充文本框(或标签,或任何我需要的)PageLoad
。
但是随后这些值以'ctl00$ContentBottom$WebFormControl$ctl00$'为前缀提交,因此外部url将其丢弃并抱怨没有提供任何值。它看到 'ctl00$ContentBottom$WebFormControl$ctl00$amount' 而不是 'amount'。
无论如何我可以修改发布的值的名称吗?