如何从WebForms发布到外部URL并从服务器提供值

时间:2013-03-28 11:16:24

标签: asp.net webforms

过去几年一直生活在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 $',因此外部网址会将其抛弃并抱怨没有提供任何值。它看到'ctl00 $ ContentBottom $ WebFormControl $ ctl00 $ amount'而不是'amount'。

无论如何我可以修改发布的值的名称吗?

1 个答案:

答案 0 :(得分:0)

而不是修改值的名称,您可以将它们添加到您的aspx页面中,如下所示

        <input type="hidden" name="billing_cust_name" value="<%=txtbox1.Text%>"> 
        <input type="hidden" name="billing_cust_address" value="<%=txtbox2.Text%>" > 
        <input type="hidden" name="billing_cust_email" value="<%=txtbox3.Text%>"> 
        <input type="hidden" name="billing_cust_notes" value="<%=txtbox4.Text%>"> 

当表单准备好发布时,更改值然后发布。