David_Wimbley
Эй, я получил настоящий удар в темноте. this...in теория, которую он "должен" компилировать, но у меня нет возможности проверить это, так как у меня нет мозгового дерева...дерева...неважно ... счет.
Индекс Модели MVC.веб-cshtml по формам версии по умолчанию.aspx-файл
-- Обратите внимание, что я очень ленив и не знаю, как вызывать переменные веб-форм...способ бритвы (который, кстати, очень красив) - это просто @SessionUtils.Пример.Трдата. Я думаю, что это должно быть что-то вроде <% SessionUtils.Пример.TrData /%> или something...im предполагая, что, поскольку вы запрашиваете код веб-форм, вы, по крайней мере, знаете, как вызвать переменную в файле .aspx.
<html>
<head>
<style type='text/css'>label {display: block;} input {margin-bottom: 10px;}</style>
</head>
<body>
<h1>Braintree Credit Card Transaction Form</h1>
<form id='payment-form' action='//Call to SessionUtils.Instance.TransparentRedirectUrl' method='POST'>
<input type='hidden' name='tr_data' value='//Call To SessionUtils.Instance.TrData' />
<div>
<h2>Credit Card</h2>
<label for='braintree_credit_card_number'>Credit Card Number</label>
<input type='text' name='transaction[credit_card][number]' id='braintree_credit_card_number' value='4111111111111111'></input>
<label for='braintree_credit_card_exp'>Credit Card Expiry (mm/yyyy)</label>
<input type='text' name='transaction[credit_card][expiration_date]' id='braintree_credit_card_exp' value='12/2015'></input>
</div>
<input class='submit-button' type='submit' />
</form>
</body>
</html>
Отделенного кода по умолчанию.aspx-файл.в CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SessionUtils.Instance.TrData = Constants.Gateway.Transaction.SaleTrData(
new TransactionRequest
{
Amount = 1000.00M,
Options = new TransactionOptionsRequest
{
SubmitForSettlement = true
}
},
"http://localhost:49283/result"
);
SessionUtils.Instance.TransparentRedirectURL = Constants.Gateway.TransparentRedirect.Url;
}
}
//This was specified in braintree demo mvc 3 project
public class Constants
{
public static BraintreeGateway Gateway = new BraintreeGateway
{
Environment = Braintree.Environment.SANDBOX,
PublicKey = "your_public_key",
PrivateKey = "your_private_key",
MerchantId = "your_merchant_id"
};
}
//Im more of an mvc 3 guy and they used viewdata/viewbag for hold some of their data. I found it easiest to just use a singleton class
// It may not be the best way or the "webforms" way but hey...it works.
public class SessionUtils
{
#region Singleton
private const string SESSION_SINGLETON_NAME = "Singleton_502E69E5-668B-E011-951F-00155DF26207";
private Sessions()
{
}
public static Sessions Instance
{
get
{
if (HttpContext.Current.Session[SESSION_SINGLETON_NAME] == null)
{
HttpContext.Current.Session[SESSION_SINGLETON_NAME] = new Sessions();
}
return HttpContext.Current.Session[SESSION_SINGLETON_NAME] as Sessions;
}
}
#endregion
public object TrData { get; set; }
public object TransparentRedirectURL { get; set; }
public string Message { get; set; }
}
}
Результат Индекса/.штмл-форм..мы называем это результат.aspx-файл
<html>
<body>
<h1>Transaction Response</h1>
<ul>
<li>Status - //Call to SessionUtils.Instance.Message</li>
</ul>
</body>
</html>
Код позади для Result.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Result<transaction> result = Constants.Gateway.TransparentRedirect.ConfirmTransaction(Request.Url.Query);
if (result.IsSuccess())
{
Transaction transaction = result.Target;
SessionUtils.Instance.Message = transaction.Status;
}
else
{
SessionUtils.Instance.Message = string.Join(", ", result.Errors.DeepAll());
}
}
}
}</transaction>
Если у вас есть какие-либо вопросы об этом коде, пожалуйста, дайте мне знать...я не знаю, насколько я могу помочь с документацией brain stuff и техническими подробностями об этом, поскольку я никогда не использовал их, но это должно/может помочь вам указать правильное направление для webforms...возможно...