European ASP.NET 4.5 Hosting BLOG

BLOG about ASP.NET 4, ASP.NET 4.5 Hosting and Its Technology - Dedicated to European Windows Hosting Customer

European ASP.NET Core Hosting - HostForLIFE.eu :: How to Fix Error 502.5 - Process Failure in ASP.NET Core

clock October 4, 2016 19:35 by author Scott

This is an issue that sometimes you face when you deploying your ASP.NET Core on shared hosting environment.

Problem

HTTP Error 502.5 - Process Failure

Common causes of this issue:

* The application process failed to start
* The application process started but then stopped
* The application process started but failed to listen on the configured port

Although your hosting provider have setup .net core for you, you can face error above. So, how to fix this problems?

Solution

There are 2 issues that cause the above error

#1. Difference ASP.NET Core Version

1. The difference ASP.NET Core version. Microsoft just released newest ASP.NET Core 1.0.1. Maybe you are still using ASP.NET Core 1.0. So, you must upgrade your .net Core version.

2. When you upgraded your app, make sure that your ‘Microsoft.NETCoreApp’ setting in your project.json was changed to:

"Microsoft.NETCore.App": "1.0.1",

3. Fixing your App ‘type’

"Microsoft.NETCore.App": { "version": "1.0.1", "type": "platform" },

#2. Set path to dotnet.exe in the web.config

Here is example to change your web.config file:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--
    Configure your application settings in appsettings.json. Learn more at https://go.microsoft.com/fwlink/?LinkId=786380
  -->
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="C:\Program Files\dotnet\dotnet.exe" arguments=".\CustomersApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
  </system.webServer>
</configuration>

Conclusion

We hope above tutorial can help you to fix ASP.NET Core problem. This is only our experience to solve above error and hope that will help you. If you need ASP.NET Core hosting, you can visit our site at http://www.hostforlife.eu. We have supported the latest ASP.NET Core 1.0.1 hosting on our hosting environment and we can make sure that it is working fine.



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: How to Get DropDownList , Value, Index and Text in ASP.NET using JavaScript?

clock September 29, 2016 21:02 by author Peter

In this code snippet, we learn how to get selected value, selected index and selected of asp dropdownlist in JavaScript. First, Create new web application in visual studio.
Now, Add one webform to application. In this tutorial we added WebForm1 in application. And Then Add on DropDownList control to webform. Design webform as follows:

<%@ Page Language="C#" AutoEventWireup="true"CodeBehind="WebForm1.aspx.cs" Inherits="DropDownListJS.WebForm1" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<script type="text/javascript"> 
function GetListDetails() { 
    var param = document.getElementById('ddlColors'); 
    document.getElementById('lblText').innerHTML = param.options[param.selectedIndex].text; 
    document.getElementById('lblValue').innerHTML = param.options[param.selectedIndex].value; 
    document.getElementById('lblIndex').innerHTML = param.options[param.selectedIndex].index; 

</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
    <table> 
        <tr> 
            <td> 
                Colors 
            </td> 
            <td> 
                <asp:DropDownList ID="ddlColors" runat="server" onchange="GetListDetails()"> 
                    <asp:ListItem Text="Select" Value="0" /> 
                    <asp:ListItem Text="Red" Value="11" /> 
                    <asp:ListItem Text="Green" Value="22" /> 
                    <asp:ListItem Text="Blue" Value="33" /> 
                </asp:DropDownList> 
            </td> 
        </tr> 
        <tr> 
            <td> 
                Selecte Index :
            </td> 
            <td> 
                <label id="lblIndex">
                </label> 
            </td> 
        </tr> 
        <tr> 
            <td> 
                Selecte Text : 
            </td> 
            <td> 
                <label id="lblText"> 
                </label> 
            </td> 
        </tr> 
        <tr> 
            <td> 
                Selecte Value : 
            </td> 
           <td> 
                <label id="lblValue"> 
                </label> 
            </td> 
        </tr> 
    </table> 
</div>
</form> 
</body> 
</html> 


Next step, Run application.

Finally, Change the color.

HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.



European Entity Framework Core 1.0 Hosting - HostForLIFE.eu :: Speed Up Large Data Sets with .AsNoTracking

clock September 29, 2016 20:04 by author Scott

If you are experiencing performance issues with Entity Framework Core 1.0 when you try to include related objects in your LINQ and lambda expressions on record sets of just a few thousand records, then check out these examples on how to improve it. Of the many ways, the best way that I have found to negate those performance problems and to optimize your requests is by using .AsNoTracking()

What is AsNoTracking()
When you use .AsNoTracking() you are basically telling the context not to track the retrieved information. Sure, this turns off a useful EF feature, but in many cases (like building an api in my case) this feature is unneeded.

In summary, Tracking is turned on by default and is great if you want to retrieve and save objects all within the same context. But if this is not required, you should use AsNewTracking(). AsNoTracking() decouples the returned records from the context, making your queries much faster!

Example

IList<Player> playerList = db.Player.AsNoTracking().ToList()

Example with Joins

IList<Player> playerList = (from p in db.Player
                        select p)
                        .Include(p => p.Team)
                        .ThenInclude(t => t.League)
                        .AsNoTracking()
                        .ToList();

It is also worth noting that there is another way to decouple your objects from EF.  This other way can be done by adding .AsEnumerable().  That would look like this:

var decoupledList = from x in TableA<strong>.AsEnumerable()</strong>

 



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: How to Handling JSON Arrays Returned From ASP.NET Web Services With jQuery?

clock September 20, 2016 20:35 by author Peter

In this post, I will tell you about how to handling JSON Arrays returned from ASP.NET Web Services with jQuery.  JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

using System; 
using System.Collections.Generic; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Text; 
using System.Text.RegularExpressions; 
using System.Web; 
using System.Web.Script.Serialization; 
using System.Web.Script.Services; 
using System.Web.Services; 
namespace VIS { 
[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.ComponentModel.ToolboxItem(false)] 
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService] 
public class WebMyService: System.Web.Services.WebService { 
    string connetionString = null; 
    SqlConnection sqlCnn; 
    SqlCommand sqlCmd; 
    SqlDataAdapter adapter = new SqlDataAdapter(); 
    DataSet dsbind = new DataSet(); 
    int i = 0; 
    string sql = null; 
    public class Gender { 
        public string employeeid { 
            get; 
            set; 
        } 
        public string male { 
            get; 
            set; 
        } 
        public string female { 
            get; 
            set; 
        } 
    } 
    public string JSONConversion(DataTable dt) { 
            DataSet ds = new DataSet(); 
            ds.Merge(dt); 
            StringBuilder JsonString = new StringBuilder(); 
            JsonString.Append("{"); 
            JsonString.Append("\"Data\""); 
            JsonString.Append(":"); 
            if (ds != null && ds.Tables[0].Rows.Count > 0) { 
                JsonString.Append("["); 
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { 
                    JsonString.Append("{"); 
                    for (int j = 0; j < ds.Tables[0].Columns.Count; j++) { 
                        if (j < ds.Tables[0].Columns.Count - 1) { 
                            JsonString.Append("\"" + ds.Tables[0].Columns[j].ColumnName.ToString() + "\":" + "\"" + ds.Tables[0].Rows[i][j].ToString() + "\","); 
                        } else if (j == ds.Tables[0].Columns.Count - 1) { 
                            JsonString.Append("\"" + ds.Tables[0].Columns[j].ColumnName.ToString() + "\":" + "\"" + ds.Tables[0].Rows[i][j].ToString() + "\""); 
                        } 
                    } 
                    if (i == ds.Tables[0].Rows.Count - 1) { 
                        JsonString.Append("}"); 
                    } else { 
                        JsonString.Append("},"); 
                    } 
                } 
                JsonString.Append("]"); 
                JsonString.Append("}"); 
                return JsonString.ToString(); 
            } else { 
                return null; 
            } 
        } 
        [WebMethod] 
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public Gender[] GenderWise() { 
        connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"; 
        sql = "select distinct(empid) as employeeid, count(case when gender='M' then 1 end) as Male, count(case when gender='F' then 1 end) as Female from V_CountOnGender"; 
        sqlCnn = new SqlConnection(connetionString); 
        try { 
            sqlCnn.Open(); 
            sqlCmd = new SqlCommand(sql, sqlCnn); 
            adapter.SelectCommand = sqlCmd; 
            adapter.Fill(dsbind); 
            JavaScriptSerializer obj = new JavaScriptSerializer(); 
            string result = string.Empty; 
            Gender[] arrlst = new Gender[dsbind.Tables[0].Rows.Count]; 
            if (dsbind.Tables[0].Rows.Count > 0) { 
                for (int i = 0; i < dsbind.Tables[0].Rows.Count; i++) { 
                    Gender objgender = new Gender(); 
                    objgender.employeeid = dsbind.Tables[0].Rows[i]["employeeid"].ToString(); 
                    objgender.male = dsbind.Tables[0].Rows[i]["Male"].ToString(); 
                    objgender.female = dsbind.Tables[0].Rows[i]["Female"].ToString(); 
                    arrlst.SetValue(objgender, i); 
                } 
            } else { 
                result = "No Record Found"; 
            } 
        } catch (Exception ex) {} 
        return arrlst;; 
    } 


This will go into the < head > section of the page: 

script type = "text/javascript" 
src = "script/jquery-1.2.6.min.js" > < /script> < 
script type = "text/javascript" > 
$(document).ready(function() { 
    $.ajax({ 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        url: "/WebMyVoterService.asmx/GenderWise", 
        processData: false, 
        success: OnSuccess, 
        failure: function(response) { 
            alert("Can't be able to bind graph"); 
        }, 
        error: function(response) { 
            alert("Can't be able to bind graph"); 
        } 
    }); 

    function OnSuccess(response) { 
        var dpmale = []; 
        var dpfemale = []; 
        for (var i = 0; i < response.d.length; i++) { 
            var obj = response.d[i]; 
            var datamale = { 
                y: parseInt(obj.male), 
                label: obj.employeeid, 
            }; 
            var datafemale = { 
                y: parseInt(obj.female), 
                label: obj.employeeid, 
            }; 
            dpmale.push(datamale); 
            dpfemale.push(datafemale); 
        } 
        var chart = new CanvasJS.Chart("chartContainerbar", { 
            animationEnabled: true, 
            axisX: { 
                interval: 1, 
                labelFontSize: 10, 
                lineThickness: 0, 
            }, 
            axisY2: { 
                valueFormatString: "0", 
                lineThickness: 0, 
                labelFontSize: 10, 
            }, 
            toolTip: { 
                shared: true 
            }, 
            legend: { 
                verticalAlign: "top", 
                horizontalAlign: "center", 
                fontSize: 10, 
            }, 
            data: [{ 
                type: "stackedBar", 
                showInLegend: true, 
                name: "Male", 
                axisYType: "secondary", 
                color: "#f8d347", 
                dataPoints: dpmale 
            }, { 
                type: "stackedBar", 
                showInLegend: true, 
                name: "Female", 
                axisYType: "secondary", 
                color: "#6ccac9", 
                dataPoints: dpfemale 
            }] 
        }); 
        chart.render(); 
    } 
}); < /script> 

HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: Command Event On Buttons > Click Event On Button

clock September 13, 2016 21:14 by author Peter

Using Command event over Click events give us better control over Coding as it provide proper manageable way to control events in a single module.

If we tend to had 5-6 button the rather than using 5-6 button click events we can use "Command" event. Multiple buttons will have same Command Event function but Multiple buttons cannot have same Click button event. each Click and Command Button are often related to a single button but always Click event will be fired firstly. "CommandName" property of each button must also be specified for each button.This property will decide
"what to do" in Command function this is common for multiple buttons.

Using Command event over Click events provide us better control over coding as it provide proper manageable way to control events in a single module.

Note:
"CommandName" property is important and required of buttons if we are using "Command" event. we can rename the Command Event function's name.

Follow this pattern,
    protected void Button_Command(object sender, CommandEventArgs e) 
    { 
        switch (e.CommandName) { 
            case "button1": 
                Response.Write("Click from 1"); 
                break; 
            case "button2": 
                Response.Write("Click from 2"); 
                break; 
            case "button3": 
                Response.Write("Click from 3"); 
                break; 
        } 
    }  


and in aspx file,
    <asp:Button ID="Button1" runat="server" Text="Button1" CommandName="button1" OnCommand="Button_Command" /> 
    <asp:Button ID="Button2" runat="server" Text="Button2" CommandName="button2" OnCommand="Button_Command" /> 
    <asp:Button ID="Button3" runat="server" Text="Button3" CommandName="button3" OnCommand="Button_Command" /> 
 

HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: How to Post Multiple JSON Objects to Ajax Method in C#?

clock September 8, 2016 20:57 by author Peter

Today, I will show you How to Post Multiple JSON Objects to Ajax Method in C#.

C# web method
[System.Web.Services.WebMethod] 
public static void Post(object data, object dt) 

    List < Category > lstItems = new JavaScriptSerializer().ConvertToType < List < Category >> (data); 
    List < Product > lstprditems = new JavaScriptSerializer().ConvertToType < List < Product >> (dt); 
    string ctid = ""; 
    string ctnme = ""; 
    string pdid = ""; 
    string pdnme = ""; 
    for (int i = 0; i < lstItems.Count; i++) 
    { 
        ctid = ctid + "," + lstItems[i].categoryID; 
        ctnme = ctnme + "," + lstItems[i].categoryName; 
    } 
    for (int i = 0; i < lstprditems.Count; i++) 
    { 
        pdid = pdid + "," + lstprditems[i].productID; 
        pdnme = pdnme + "," + lstprditems[i].productName; 
    } 
    if (ctid.Length > 0) 
    { 
        ctid = ctid.Remove(0, 1); 
        ctnme = ctnme.Remove(0, 1); 
    } 
    if (ctid.Length > 0) 
    { 
        pdid = pdid.Remove(0, 1); 
        pdnme = pdnme.Remove(0, 1); 
    } 


Code
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head runat="server"> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
 
    <script type="text/javascript"> 
        function PassJavascriptObject() 
        { 
            var Ct = []; 
            var Pd = []; 
            var categoryModel = { 
                categoryID: 1, 
                categoryName: "Beverage" 
            }; 
            Ct.push(categoryModel); 
            var categoryModel1 = { 
                categoryID: 2, 
                categoryName: "Liuwu" 
            }; 
            Ct.push(categoryModel1); 
            var productModel = { 
                productID: 1, 
                productName: "Chai" 
            }; 
            Pd.push(productModel) 
            var productModel2 = { 
                productID: 2, 
                productName: "teccc" 
            }; 
            Pd.push(productModel2) 
            $.ajax( 
            { 
                url: 'WebForm1.aspx/Post', 
                type: 'post', 
                dataType: 'json', 
                // It is important to set the content type 
                // request header to application/json because 
                // that's how the client will send the request 
                contentType: 'application/json', 
                data: JSON.stringify( 
                { 
                    data: Ct, 
                    dt: Pd 
                }), 
                cache: false, 
                success: function(result) 
                { 
                    alert(result); 
                }, 
                error: function(xhr, ajaxOptions, thrownError) 
                { 
                    alert(thrownError); 
                } 
            }); 
        } 
    </script> 
 
</head> 
 
<body> 
    <form id="form1" runat="server"> 
        <div> 
            <span onclick="javascript:PassJavascriptObject();">Call Method</span> 
        </div> 
    </form> 
</body> 
 
</html>

HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: How to Authorized.Net And PayPal Express Gateway?

clock September 1, 2016 23:27 by author Peter

In this tutorial, I will show you how to Authorized.Net and PayPal Express Gateway. Now write the following code:

Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div align="center"> 
      <table style="border: 1px solid black; vertical-align: middle;" id="table3">       
        <tr><td colspan="2" align="center"> 
            <asp:ValidationSummary ID="ValidationSummary1" ShowSummary="false" ShowMessageBox="true" ValidationGroup="fldGrp1" runat="server" /> 
        </td></tr> 
        <tr> 
            <td align="right"> 
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="ddlPaymentMethod" InitialValue="SELECT" ValidationGroup="fldGrp1" runat="server" ErrorMessage="Method is required"> * </asp:RequiredFieldValidator>Method:</td> 
            <td align="left"><asp:DropDownList ID="ddlPaymentMethod" onselectedindexchanged="ddlPyamentMethod_SelectedIndexChanged" AutoPostBack="true" runat="server"> 
                <asp:ListItem>SELECT</asp:ListItem> 
                <asp:ListItem>American Express</asp:ListItem> 
                <asp:ListItem>Discover</asp:ListItem> 
                <asp:ListItem>Master</asp:ListItem> 
                <asp:ListItem>Visa</asp:ListItem> 
                <asp:ListItem>Paypal</asp:ListItem> 
            </asp:DropDownList></td> 
        </tr> 
        <tr> 
            <td align="right"> 
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="txtNameOnCard" ValidationGroup="fldGrp1" runat="server" ErrorMessage="Name on card is required"> * </asp:RequiredFieldValidator>Name of the card:</td> 
            <td align="left"><asp:TextBox ID="txtNameOnCard" Width="250px" runat="server"></asp:TextBox></td> 
        </tr> 
        <tr> 
            <td align="right"> 
                <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="txtCreditCardNumber" ValidationGroup="fldGrp1" runat="server" ErrorMessage="Credit card number is required"> * </asp:RequiredFieldValidator>Credit card number:</td> 
            <td align="left"><asp:TextBox ID="txtCreditCardNumber" Width="250px" MaxLength="20" runat="server"></asp:TextBox></td> 
        </tr> 
        <tr> 
            <td align="right"><asp:RequiredFieldValidator ID="RequiredFieldValidator4" ControlToValidate="ddlExpMonth" InitialValue="0" ValidationGroup="fldGrp1" runat="server" ErrorMessage="Expiration month is required"> * </asp:RequiredFieldValidator>Expiration month:</td> 
            <td align="left"> 
                <asp:DropDownList ID="ddlExpMonth" runat="server"> 
                    <asp:ListItem Value="0">SELECT</asp:ListItem> 
                    <asp:ListItem Value="1">January</asp:ListItem> 
                    <asp:ListItem Value="2">February</asp:ListItem> 
                    <asp:ListItem Value="3">March</asp:ListItem> 
                    <asp:ListItem Value="4">April</asp:ListItem> 
                    <asp:ListItem Value="5">May</asp:ListItem> 
                    <asp:ListItem Value="6">June</asp:ListItem> 
                    <asp:ListItem Value="7">July</asp:ListItem> 
                    <asp:ListItem Value="8">August</asp:ListItem> 
                    <asp:ListItem Value="9">September</asp:ListItem> 
                    <asp:ListItem Value="10">October</asp:ListItem> 
                    <asp:ListItem Value="11">November</asp:ListItem> 
                    <asp:ListItem Value="12">December</asp:ListItem> 
                </asp:DropDownList> /<asp:RequiredFieldValidator ID="RequiredFieldValidator5" ControlToValidate="ddlExpYear" InitialValue="0" ValidationGroup="fldGrp1" runat="server" ErrorMessage="Expiration year is required"> * </asp:RequiredFieldValidator> 
                <asp:DropDownList ID="ddlExpYear" runat="server"></asp:DropDownList> 
            </td> 
        </tr> 
        <tr> 
            <td align="right"> 
                <asp:RequiredFieldValidator ID="RequiredFieldValidator6" ControlToValidate="txtSecurityCode" ValidationGroup="fldGrp1" runat="server" ErrorMessage="Security code is required"> * </asp:RequiredFieldValidator>Security Code:</td> 
            <td align="left"><asp:TextBox ID="txtSecurityCode" Width="60px" MaxLength="5" runat="server"></asp:TextBox></td> 
        </tr> 
        <tr><td colspan="2" align="center"><asp:Label ID="lblGatewayMessage" Font-Bold="true" runat="server"></asp:Label></td></tr> 
        <tr><td colspan="2" align="center"> 
                 <asp:Button ID="btnChargeCard" Text="Pay-Now" OnClick="AuthorizedDotNet_Collect" ValidationGroup="fldGrp1" runat="server" />                  
        </td></tr> 
        <tr><td colspan="2" align="center"> </td></tr> 
      </table> 
    </div> 
    </form> 
</body> 
</html> 

Default.aspx.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using ncMerchantGateway; 
 
public partial class _Default : System.Web.UI.Page 

    protected void Page_Load(object sender, EventArgs e) 
    { 
        if (!Page.IsPostBack) 
        { 
            //- Let's do 10 years of credit card expiration year. 
            this.ddlExpYear.Items.Clear(); 
            this.ddlExpYear.Items.Add(new ListItem("SELECT", "0")); 
            for (int i = 0; i <= 10; i++) 
            { 
                if (i > 0) 
                { 
                    this.ddlExpYear.Items.Add(new ListItem(DateTime.Now.AddYears(i).Year.ToString(), i.ToString())); 
                } 
            } 
        } 
    } 
    protected void ddlPyamentMethod_SelectedIndexChanged(object sender, EventArgs e) 
    { 
        if (ddlPaymentMethod.Text.Trim().ToUpper() == "PAYPAL") 
        {    
            PayPalExpress_Collect(sender, e); 
        }         
    }     
    //--------------------------------------------------------------------------------- 
    //- Warning: a merchant account from authorized.net is required. 
    //--------------------------------------------------------------------------------- 
    protected void AuthorizedDotNet_Collect(object sender, EventArgs e) 
    {    
        //- Entantiate the class here 
        oAuthorizedotnet oGateway = new oAuthorizedotnet(); 
 
        //- very important information must be entered here 
        oGateway.MerchantAccount_Version = "3.1"; // Authorized.net api version. 
        oGateway.AccountHolder_LoginId = "valid login id goes here"; 
        oGateway.AccountHolder_TransactionKey = "valid merchant transaction key goes here"; 
        oGateway.AccountHolder_EMail = "merchart email registered with authorized.net goes here"; 
        oGateway.CompanyCollectorName = "ABC, Inc."; //- Merchant Company name goes here 
        oGateway.AuthorizeChargesOnly = true; // Authorized Only (False = {Authorized and Capture}) 
        oGateway.Country = "USA"; 
        oGateway.Currency = "USD"; 
        oGateway.IsTestMode_Environment = false; //- Live  
 
        //- Amount to be charged 
        double dblCharges = 50.00; 
        //- Sales Tax if there is any based on NYC sales tax. 
        double dblSalesTax = (50.00 * 0.09); 
        //- Total to Collect 
        double dblTotalCharges = dblCharges + dblSalesTax; 
 
        List<string> lstCCPaymentData = new List<string>(); 
        //- Please follow this order 0 throught 12 
        lstCCPaymentData.Add("Jane"); //-Billing First-Name 
        lstCCPaymentData.Add("Doe"); //-Billing Last-Name 
        lstCCPaymentData.Add("123 Apple Road"); //-Billing Address 
        lstCCPaymentData.Add("New York"); //-Billing City 
        lstCCPaymentData.Add("NY"); //-Billing State 
        lstCCPaymentData.Add("10040"); //-Billing Zipcode 
        lstCCPaymentData.Add("212-555-5555"); //-Billing Telephone 
        lstCCPaymentData.Add("[email protected]"); //-shipping email //-7 
         
        //- Credit card info. exactly in this order. 
        lstCCPaymentData.Add(this.txtCreditCardNumber.Text); //-Credit Card number 
        lstCCPaymentData.Add(this.ddlExpMonth.Text); //- Credit card expiration month 
        lstCCPaymentData.Add(this.ddlExpYear.Text); //-Credit card expiration year 
        lstCCPaymentData.Add(this.txtSecurityCode.Text); //-Credit card security code 
        lstCCPaymentData.Add(dblTotalCharges.ToString()); //-Total Amount to be either authorized or capture 
 
        //- Connect with Authorize.net gateway now. 
        oGateway.AuthorizeCaptureCharges(lstCCPaymentData); 
 
        //- Return Message.(Display any error message returned from the Authorized.net gateway here) 
        this.lblGatewayMessage.Text = oGateway.GatewayReturnedMessage.Trim(); 
    } 
    //--------------------------------------------------------------------------------- 
    //- Warning: you must have a paypal account with valid email registered. 
    //--------------------------------------------------------------------------------- 
    protected void PayPalExpress_Collect(object sender, EventArgs e) 
    { 
         
        //- Entantiate the class here 
        oPayPalExpress oGateway = new oPayPalExpress(); 
 
        //- very important information must be entered here 
        oGateway.ECommerce_SiteEMail = "[email protected]"; 
        oGateway.ECommerce_SiteUrl = "www.johndoe.com"; 
        oGateway.Country_Code = "US"; 
        oGateway.Currency_Code = "USD"; 
        oGateway.CancelledTransaction_Url = "http://www.johndoe.com/CancelledTransaction.html"; 
        oGateway.ReturnToECommerce_SiteUrl = "http://www.johndoe.com/Thankyou.html"; 
 
        //- Amount to be charged 
        double dblCharges = 50.00; 
        //- Pay Pal Fee if there is any [Warning: you must let the user know about this fee charges.] 
        double dblProcessingFee = (dblCharges * 2.75) / 100;        
        //- Sales Tax if there is any based on NYC sales tax. 
        double dblSalesTax = (50.00 * 0.09); 
        //- Total to Collect 
        double dblTotalCharges = dblCharges + dblSalesTax + dblProcessingFee; 
         
        List<string> lstPaymentInfo = new List<string>(); 
        //- Please follow this order 
        lstPaymentInfo.Add("10012A"); //- Item Number 
        lstPaymentInfo.Add("Tennis Shoes Size 10"); //- Item Description 
        lstPaymentInfo.Add("1"); //- Qty goes here at least 1 
        lstPaymentInfo.Add(dblTotalCharges.ToString()); //- Amount to charge goes here 
        lstPaymentInfo.Add("20160813104523"); //- Invoice Number goes here 
        lstPaymentInfo.Add(""); //- Shipping charges if any goes here otherwise blank 
        lstPaymentInfo.Add(""); //- Handling charges if any goes here otherwise blank 
        lstPaymentInfo.Add(dblSalesTax.ToString()); //- Sales Taxes if any goes here otherwise blank  
         
        //- This part from here down is not necessary could all be blank "" 
        lstPaymentInfo.Add("Jane"); //- First-name 
        lstPaymentInfo.Add("Doe"); //- Last-name 
        lstPaymentInfo.Add("123 Somewhere in the city"); //- Address 
        lstPaymentInfo.Add("New York"); //- City 
        lstPaymentInfo.Add("NY"); //- State 
        lstPaymentInfo.Add("10005"); //- Zipcode 
        lstPaymentInfo.Add("212-555-5555"); //- Telephone 
        lstPaymentInfo.Add("[email protected]"); //- E-Mail 
         
        //- Go to paypal now and collect 
        oGateway.ProcessPayment(lstPaymentInfo);         
    } 

 

HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: How to Call Rest API in ASP.NET?

clock August 16, 2016 20:46 by author Peter

In this today's tutorial, I will show you how to call rest API in ASP.NET. As the Internet industry progresses, creating a REST API becomes more concrete with emerging best practices.As RESTful web services don't follow a prescribed standard except for HTTP, it's important to build your RESTful API in accordance with industry best practices to ease development and increase client adoption. A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data.

RESTful APIs explicitly take advantage of HTTP methodologies defined by the RFC 2616 protocol. They simply use "PUT" to change the state of or update a resource, which can be an object, file or block; "GET" to retrieve a resource; POST" to create that resource; and "DELETE" to remove it.
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Net; 
using System.IO; 
using System.Data; 
using System.Data.Common; 
using Golive_Web.Controller; 
namespace Golive.Controller 

public class APITEXT 

Database database = new Database("GoliveAPI"); 
public DataTable GetAPI() 

DbCommand cmd = database.GetStoredPocCommand("SP_TExt"); 
DataTable dtApi = database.ExecuteDataTable(cmd); 
return dtApi; 

public string GetData(String mobileNo, String ID, String APILink) 

try 

    string XML = "<AccDtls>" + "<Request>" + "<RequestUUID>Req_" + ID + "</RequestUUID>" + "<ServiceRequestId>AcctInq</ServiceRequestId>" + "<ServiceRequestVersion>10.2</ServiceRequestVersion>" + "<ChannelId>CTS</ChannelId>" + "<AccID>" + mobileNo + "</AccID> " + "</Request>" + "</AccDtls>"; 
    const string url = "http://100.98.2.208:6070/rbl/CTSFin"; 
    HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url); 
    request.ContentType = "application/xml"; //set the content type to JSON 
    request.Method = "POST"; //make an HTTP POST 
    # 
    region test# endregion 
    using(var streamWriter = new StreamWriter(request.GetRequestStream())) 
        { 
            var resToWrite = XML; 
            streamWriter.Write(resToWrite); 
            streamWriter.Flush(); 
            streamWriter.Close(); 
        } 
        // Get the response. 
    WebResponse response = request.GetResponse(); 
    var streamReader = new StreamReader(response.GetResponseStream()); 
    string result = streamReader.ReadToEnd(); 
    return result; 

catch (Exception) 

    throw; 



}

HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: How to Read the Data from CSV File in ASP.NET?

clock August 3, 2016 23:41 by author Peter

I am gonna explaining how to read the data from CSV file using file upload control. A CSV is a comma separated values file, which allows data to be saved in a table structured format. CSVs look like a garden-variety spreadsheet but with a .csv extension (Traditionally they take the form of a text file containing information separated by commas, hence the name). CSV files can be used with any spreadsheet program, such as Microsoft Excel, Open Office Calc, or Google Spreadsheets. They differ from other spreadsheet file types in that you can only have a single sheet in a file, they can not save cell, column, or row styling, and can not save formulas.

Code
<asp:FileUpload ID="fpContacts" runat="server" /> 
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" /></p> 

Here we need to add a new folder to the solution, why because, sometimes it will takes the fake file path. it is better to save the file and read data.

In .cs page, write the following code.
protected void btnUpload_Click(object sender, EventArgs e) 

 if (fpContacts.HasFile) 
 { 
     string spath = Server.MapPath("~/upload"); 
     string csv_file_path = spath + "\\" + fpContacts.FileName; 
     fpContacts.SaveAs(csv_file_path); 

     DataTable csvData = GetDataTableFromCSVFile(csv_file_path); 
 } 


public DataTable GetDataTableFromCSVFile(string csv_file_path) 

 DataTable csvData = new DataTable(); 
 try 
 { 
     using (TextFieldParser csvReader = new TextFieldParser(csv_file_path)) 
     { 
         csvReader.SetDelimiters(new string[] { "," }); 
         csvReader.HasFieldsEnclosedInQuotes = true; 
         //read column names 
         string[] colFields = csvReader.ReadFields(); 
         foreach (string column in colFields) 
         { 
             DataColumn datecolumn = new DataColumn(column); 
             datecolumn.AllowDBNull = true; 
             csvData.Columns.Add(datecolumn); 
         } 
         while (!csvReader.EndOfData) 
         { 
             string[] fieldData = csvReader.ReadFields(); 
             ContactEntity CEntity = new ContactEntity(); 
             B2B_BillsData BData = new B2B_BillsData(); 

             CEntity.ContactName = fieldData[0]; 
             CEntity.Email = fieldData[1]; 
             CEntity.Mobile = fieldData[2]; 
             CEntity.GroupId = ddlGroup.SelectedIndex; 
             CEntity.UserId = userid; 
             if (BData.InsertNewContact(CEntity) == true) 
             { 
                 lblMsg.ForeColor = Color.Green; 
                 lblMsg.Text = "Contact Saved successfully"; 
             } 
             csvData.Rows.Add(fieldData); 
         } 
     } 
 } 
 catch (Exception ex) 
 { 
     //MessageBox.Show(ex.Message); 
 } 
 return csvData; 
}

HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.

 



ASP.NET Core 1.0 Hosting - HostForLIFE.eu :: Progress Bar In GridView

clock July 27, 2016 23:06 by author Peter

Now, I will show you how to create Progress Bar In GridView with ASP.NET. The ASP.NET GridView control is the successor to the v1.x DataGrid, adding the ability to take advantage of specific capabilities of ASP.NET data source controls. Whereas the v1.x DataGrid required a page developer to write custom code to handle simple operations such as paging, sorting, editing or deleting data, the GridView control can automatically handle these operations provided its bound data source control supports these capabilities.

To make Progress Bar in GridView.

Html Code:

<div> 
<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White" 
    runat="server" AutoGenerateColumns="false"> 
    <Columns> 
        <asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" /> 
        <asp:BoundField DataField="Percentage" HeaderText="Percentage" ItemStyle-Width="150" /> 
        <asp:TemplateField ItemStyle-Width="300"> 
            <ItemTemplate> 
                <div class='progress'> 
                    <div class="progress-label"> 
                        <%# Eval("Percentage") %></div> 
                </div> 
            </ItemTemplate> 
        </asp:TemplateField> 
    </Columns> 
</asp:GridView> 
</div> 
<style type="text/css"> 
.ui-progressbar 

    position: relative; 

.progress-label 

    position: absolute; 
    left: 50%; 
    top: 4px; 
    font-weight: bold; 
    text-shadow: 1px 1px 0 #fff; 

body 

    font-family: Arial; 
    font-size: 10pt; 

</style> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/start/jquery-ui.css"> 
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script type="text/javascript" src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
<script type="text/javascript"> 
$(function () { 
    $(".progress").each(function () { 
        $(this).progressbar({ 
            value: parseInt($(this).find('.progress-label').text()) 
        }); 
    }); 
}); 
</script> 

Namespaces code:

using System.Data; 

Code:
protected void Page_Load(object sender, EventArgs e) 

if (!this.IsPostBack) 

    DataTable dt = new DataTable(); 
    dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(int)), 
                    new DataColumn("Name", typeof(string)), 
                    new DataColumn("Percentage",typeof(string)) }); 
    dt.Rows.Add(1, "John Hammond", 45); 
    dt.Rows.Add(2, "Mudassar Khan", 37); 
    dt.Rows.Add(3, "Suzanne Mathews", 67); 
    dt.Rows.Add(4, "Robert Schidner", 12); 
    GridView1.DataSource = dt; 
    GridView1.DataBind(); 


HostForLIFE.eu ASP.NET Core 1.0 Hosting

European best, cheap and reliable ASP.NET hosting with instant activation. HostForLIFE.eu is #1 Recommended Windows and ASP.NET hosting in European Continent. With 99.99% Uptime Guaranteed of Relibility, Stability and Performace. HostForLIFE.eu security team is constantly monitoring the entire network for unusual behaviour. We deliver hosting solution including Shared hosting, Cloud hosting, Reseller hosting, Dedicated Servers, and IT as Service for companies of all size.



About HostForLIFE

HostForLIFE is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes.

We have offered the latest Windows 2019 Hosting, ASP.NET 5 Hosting, ASP.NET MVC 6 Hosting and SQL 2019 Hosting.


Month List

Tag cloud

Sign in