“提交”的“输入”会发生什么?如何通过ASP.Net完成?

时间:2012-06-20 13:40:14

标签: asp.net html5 asp.net-4.0 google-checkout

  

可能重复:
  Read Post Data submitted to ASP.Net Form

我有一个谷歌结帐“立即购买”按钮,我正在尝试添加动态创建的内容,以便在点击时发送。使用原始的html证明有点困难所以我想创建一个ASP.Net ImageButton而不是那个。

我已经成功创建了具有正确图像的按钮,并将其挂钩到代码隐藏中的事件处理程序。

但是,我不确定单击原始按钮时到底发生了什么,以便尝试在新ImageButton中模拟它。

原始代码是:

<form action="https://sandbox.google.com/checkout/..." id="Form1" method="post" name="..." target="_top">
<input name="item_name_1" type="hidden" value="..." />
...
<input alt="" src="https://sandbox.google.com/checkout/buttons/buy.gif?merchant_id=..." type="image" />
</form>

我想放置一个动态创建的item_name_1

我需要在Button1_Click方法中做些什么?

4 个答案:

答案 0 :(得分:1)

简短,简洁且有用的版本:

HTML:

<form id="__parent" action="..." method="post" runat="server">
    <input id="__child0" name="type" type="hidden" value="button" runat="server" />
    <input id="__child1" name="name" type="hidden" value="teh_button" runat="server" />
    <input id="__child2" name="value" type="hidden" value="Hello?" runat="server" />
</form>

tehfile.cs:

<%@ Page Language="C#" CodeFile="tehfile.cs" %>

String
    _type = __child0.Value,
    _name = __child1.Value,
    _value     = __child2.Value,
    _element   = String.Format( 
        "<{0} {1}=\"{2}\" {3}=\"{4}\" {5}=\"{6}\" />", 
        "input", 
        "type", _type,
        "name", _name,
        "value", _value  );

Literal _lit = new Literal( );
_lit.Text = _element;

__parent.AddControl( _lit );

答案 1 :(得分:1)

要将该数据发布到ASP.NET服务器端的其他服务器,您将需要使用类似WebRequest类的内容。

答案 2 :(得分:1)

或者也是为了发布表单,您可以像这里的任何一个一样使用远程帖子类:Remote HTTP Post with C#,@ BobbyShaftoe的答案是我在许多项目中使用的答案。

答案 3 :(得分:0)

同一问题/ POST here。我会评论而不是回答,但似乎这是一种更好/格式化的方式来深究这一切:

在你对@ MarcusHansson回答的评论中:

  

我没有看到这是如何解决如何使用代码隐藏来发送信息的问题

您正在将服务器端客户端提交方法混合使用。

如果要使用“代码隐藏”提交,则必须实现服务器到服务器HTTP Post。在Google Checkout的上下文中,我在您的其他帖子中提供了该链接。

您的客户端正在使用HTML表单,其本身就是您“发送数据”的方式。您可以尝试各种客户端提交过程,但在一天结束时,它是一个客户端(Javascript)方法。

现在购买按钮的“动态”是什么?这意味着购买单件商品(一次)。为什么不能在创建按钮的同时构造所需的所有变量?你在添加什么(需要另一个重定向或回发)?