//------------------------------------------------------------------------------
// The contents of this file are subject to the nopCommerce Public License Version 1.0 ("License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at http://www.nopCommerce.com/License.aspx.
//
// Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
// See the License for the specific language governing rights and limitations under the License.
//
// The Original Code is nopCommerce.
// The Initial Developer of the Original Code is NopSolutions.
// All Rights Reserved.
//
// Contributor(s): _______.
//------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Web;
namespace NopSolutions.NopCommerce.Common.Utils{
/// <summary>
/// Represents a RemotePost helper class
/// </summary>
public partial class RemotePost
{
private NameValueCollection inputValues;
/// <summary>
/// Gets or sets a remote URL
/// </summary>
public string Url { get; set; }
/// <summary>
/// Gets or sets a method
/// </summary>
public string Method { get; set; }
/// <summary>
/// Gets or sets a form name
/// </summary>
public string FormName { get; set; }
public NameValueCollection Params
{
get
{
return inputValues;
}
}
/// <summary>
/// Creates a new instance of the RemotePost class
/// </summary>
public RemotePost()
{
inputValues = new NameValueCollection();
Url = "http://www.someurl.com";
Method = "post";
FormName = "formName";
}
/// <summary>
/// Adds the specified key and value to the dictionary (to be posted).
/// </summary>
/// <param name="name">The key of the element to add</param>
/// <param name="value">The value of the element to add.</param>
public void Add(string name, string value)
{
inputValues.Add(name, value);
}
/// <summary>
/// Post
/// </summary>
public void Post()
{
var context = HttpContext.Current;
context.Response.Clear();
context.Response.Write("<html><head>");
context.Response.Write(string.Format("</head><body onload=\"document.{0}.submit()\">", FormName));
context.Response.Write(string.Format("<form name=\"{0}\" method=\"{1}\" action=\"{2}\" >", FormName, Method, Url));
for (int i = 0; i < inputValues.Keys.Count; i++)
context.Response.Write(string.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", HttpUtility.HtmlEncode(inputValues.Keys[i]), HttpUtility.HtmlEncode(inputValues[inputValues.Keys[i]])));
context.Response.Write("</form>");
context.Response.Write("</body></html>");
context.Response.End();
}
}
}
|