Вопрос по asp.net, html5, asp.net-4.0, google-checkout – Как подписаться на событие клика html формы?

0

У меня есть Google Checkout "купить сейчас" и я хочу добавить динамически созданную информацию для отправки при ее нажатии. Как я могу это сделать?

HTML-код кнопки:

<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>

Так что мне добавить? (И, если возможно, я бы хотел сделать это с помощью кода ASP.Net.)

Я пытался добавитьonclick="Button1_Click" но это не сработало.

Ваш Ответ

2   ответа
1

Если это для Google Checkout, вы должны рассмотреть возможность использования существующих.Net библиотека для Google Checkout.

Хотя приведенное выше предложение будет работать, правильный (безопасный) способ сделать этозадокументировано здесь, Альтернатива XML (подписывание)Вот, один из которых позволяет вам сделать прямой POST FORM в Google безопасным способом.

Отправка через клиентские методы всегда сделает вас уязвимыми для фальсификации - это будет иметь мало значения (с точки зрения безопасности), чем простая публикация HTML-формы в Google.


Updated:

...doesn't support buy now...

В конце дня есть две вещи, которые делают «КУПИТЬ СЕЙЧАС» отличается от любой другой "корзины" представление:

  1. the image
  2. single item purchase for Buy Now (vs. one or more for other implementations).

Видеть этопример кода из библиотеки .Net, Это должно дать вам все, что вам нужно ....


Update 2:

Здесь нет ничего «жесткого» о библиотеке. Вам не нужно использовать все в нем - вы даже можете просто воспользоваться всеми преимуществами сантехники, уже созданными для вас.

Simple Example, implementing BUY NOW, using Google Checkout .Net Library

Код веб-форм (aspx):

<p>Some ASP.net button:<br />
<asp:Button ID="Button1" runat="server" Text="BUY ME NOW" onclick="Button1_Click" /><br />

An ASP.NET Image Button using BUY NOW Image:<br />
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="https://checkout.google.com/buttons/buy.gif?merchant_id=[USE YOUR OWN MERCHANT ID]&amp;w=117&amp;h=48&amp;style=white&amp;variant=text&amp;loc=en_US" onclick="ImageButton1_Click" />

На данный момент это то, что вы видите в своем браузере:

screen shot Google Checkout Buy Now

Код (встроенный или выделенный код):

using GCheckout.Checkout;
using GCheckout.Util;

....

protected void Button1_Click(object sender, EventArgs e)
{
    doSomething();
}

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
    doSomething();
}

private void doSomething()
{
    /**
     * Use the correct Merchant ID and Key based on GCheckout.EnvironmentType
     * You cannot mix/match sandbox and production id or key
     */
    CheckoutShoppingCartRequest Req = new CheckoutShoppingCartRequest("your_production_MID", "your_production_KEY", GCheckout.EnvironmentType.Production, "USD", 20);

    /**
     * Everything from this point is a copy and paste
     * from .net libary sample code
     * http://code.google.com/p/google-checkout-dotnet-sample-code/source/browse/examples/post_cart/simple.aspx
     */
    Req.AddItem("Mars bar", "Packed with peanuts", 0.75m, 2);

    //lets make sure we can add 2 different flat rate shipping amounts
    Req.AddFlatRateShippingMethod("UPS Ground", 5);

    //Add a rule to tax all items at 7.5% for Ohio
    Req.AddStateTaxRule("OH", 7.5, true);

    GCheckoutResponse Resp = Req.Send();
    if (Resp.IsGood)
    {
        Response.Redirect(Resp.RedirectUrl, true);
    }
    else
    {
        Response.Write("Resp.ResponseXml = " + Resp.ResponseXml + "<br>");
        Response.Write("Resp.RedirectUrl = " + Resp.RedirectUrl + "<br>");
        Response.Write("Resp.IsGood = " + Resp.IsGood + "<br>");
        Response.Write("Resp.ErrorMessage = " + Resp.ErrorMessage + "<br>");
    }
}

Important

Выше простоsample code чтобы проиллюстрировать, что вы можете сделать с .Net Library.To comply with Google Checkout implementation policy, use the ImageButton implementation - он гарантирует, что вы используете кнопку «Купить сейчас» от Google (без изменений и т. д.).

Большое спасибо за вашу настойчивость. Я решил использовать их .net-библиотеку, как вы предложили. (Теперь застрял в Google, не обрабатывая мое Уведомление Подтверждениеstackoverflow.com/questions/11177384/… .) ispiro
Я пытался использовать библиотеку .net, но когда мне пришлось изменить изображение кнопки - установить кнопку.ImageUrl собственность просто заставила это исчезнуть. Есть идеи как это сделать? ispiro
Похоже, что их API не поддерживает функцию "Купить сейчас" кнопка. ispiro
1

поэтому вы не можете запустить его после загрузки страницы. Атрибут onlcick используется для запуска JavaScript. Два обходных пути:

What you can do is redirect it to another page, which redirects to google checkout. Using javascript and ajax, load the dynamic information, and submit it using javascript
Благодарю. У меня нет опыта работы со скриптами, но я могу управлять перенаправлением. (Хотя я до сих пор не знаю, как мне добавить туда информацию в коде :) ispiro
"Вы не можете запустить его после загрузки страницы" & # X2013; Я не знаю, называется ли это "запуск", но все вещиcan произойдет тогда & # x2013; например & # x2013; нажатие кнопки ASP.net вызывает соответствующий обработчик события в коде позади. ispiro
woops, моя вина, перечитать часть .net Не берите в голову мой ответ тогда

Похожие вопросы