European ASP.NET MVC Hosting

BLOG about Latest ASP.NET MVC Hosting and Its Technology - Dedicated to European Windows Hosting Customer

ASP.NET MVC 5.2 Hosting - HostForLIFE.eu :: How to Get TextBoxes Values Created by JQuery

clock March 31, 2015 07:31 by author Rebecca

While creating a Html TextBox or Dropdown list using jQuery, it would define the ID and Name attributes of an Html TextBox or Dropdown list. First, let's us understand what is ID and Name attribute of Html controls. ID attribute of an input html control is responsible for uniquely identified a control on the html page. We use ID for getting an input html control's value using jQuery at client side or for applying some CSS to that control. And Name attribute of an input html control is responsible for posting that control values on server side.

When you will not defined the Name attributes of an Html TextBox or Dropdown list then form will not post the TextBox or Dropdown list values to the server. It means at controller's action result, you will not find the Html TextBox or Dropdown list. Then, you need to select no of customers from drop down list as shown below:

Also, Textboxes for entering customers full name are created by jQuery as shown below:

 

 

When you will submit the form you will get the Textboxes created by jQuery at controller side as shown below:

Here's the view code:

    <script src="~/Scripts/jquery-1.8.2.js"></script>
    <script>
    $(document).ready(function () {
    $("#ddl").change(function () {
    var i = $("#ddl :selected").val();
    var str = "";
    for (var j = 1; j <= i; j++) {
    var id = "txtCustomer" + j;
    //Remember to add name attribute to get values at server side
    str = str + "<span>Customer " + j + " Full Name: </span><input type='text' id='" + id + "' name='" + id + "'/><br/>";
    }
    $("#content").html(str);
    });
    });
    </script>
    
    <br />
    @using (Html.BeginForm())
    {
    <h2>Get TextBoxes Values Created by jQuery</h2>
    <span>Select No. of Customers </span>
    <select id="ddl" name="ddl">
    <option>Select</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    </select>
    <br />
    <div id="content">
    </div>
    <br />
    <div align="center">
    <input type="submit" id="btnSave" value="Save" />
    </div>
    }

And you can get the Html TextBox or Dropdown list values created by jQuery by two method: Get Values Using FormCollection and Get Values Using Request.Form.

Method 1: Get Values Using FormCollection

    public ActionResult Index()
    {
    return View();
    }
    
    [HttpPost]
    public ActionResult Index(FormCollection form, string ddl)
    {
    for (int i = 1; i <= Convert.ToInt32(ddl); i++)
    {
    string id = "txtCustomer" + i;
    string customer = form[id];
    }
    return View();
    }

Method 2: Get Values Using Request.Form

  public ActionResult Index()
    {
    return View();
    }
    
    [HttpPost]
    public ActionResult Index(string ddl)
    {
    for (int i = 1; i <= Convert.ToInt32(ddl); i++)
    {
    string id = "txtCustomer" + i;
    string customer = Request.Form[id];
    }
    return View();
    }

Hope you will enjoy this tutorial!

HostForLIFE.eu ASP.NET MVC 5.2 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



ASP.NET MVC 6 Hosting Italy - HostForLIFE.eu :: How to POST JSON Data using AJAX, AngularJS and Spring MVC?

clock March 20, 2015 07:44 by author Peter

This sample shows the code that is utilized to post the JSON information to the server utilizing AngularJS $http service based on AJAX POST protocol in MVC. It additionally shows the capacity of AngularJS dependency injection which is used to inject $http service to the controller as it is initiated.

The $http administration is a center Angular administration that encourages communication  with the remote HTTP servers via the browser's XMLHttpRequest object or via JSONP. The detailed article on $http service could be found on AngularJS $http page.

Pay consideration on Spring MVC controller strategy where @RequestBody is utilized. One needs to make a Domain item mapping to JSON. Additionally, simply making the space object won't do. One needs to include Jackson libraries in the classpath. Otherwise, 415 error would keep haunting.

$http Service & Related Code
Let’s write the following code to  create JSON object:
var helloAjaxApp = angular.module("helloAjaxApp", []);
helloAjaxApp.controller("CompaniesCtrl", ['$scope', '$http', function($scope, $http) {    $scope.companies = [
                                    { 'name':'Infosys Technologies',
                                                'employees': 125000,
                                                'headoffice': 'Bangalore'},
                                                { 'name':'Cognizant Technologies',
                                                  'employees': 100000,
                                                  'headoffice': 'London'},
                                                  { 'name':'Peter',
                                                  'employees': 115000,
                                                  'headoffice': 'London'},
                                                  { 'name':’IT Support',
                                                  'employees': 150000,
                                                  'headoffice': ' London '},                                                              
                                    ];        
                $scope.addRowAsyncAsJSON = function(){                                                        
$scope.companies.push({ 'name':$scope.name, 'employees': $scope.employees, 'headoffice':$scope.headoffice });
                                // Writing it to the server
                                //                           
                                var dataObj = {
                                name : $scope.name,
                                employees : $scope.employees,
                                headoffice : $scope.headoffice
                                };            
                                var res = $http.post('/savecompany_json', dataObj);
                                res.success(function(data, status, headers, config) {
                                $scope.message = data;
                                });
                                res.error(function(data, status, headers, config) {
                                alert( "failure message: " + JSON.stringify({data: data}));
                                });                          
                                // Making the fields empty
                                //
                                $scope.name='';
                                $scope.employees='';
                                $scope.headoffice='';
                };
}]);

Java Controller Code
saveCompany_JSON method which is called from $http service using POST method type.  
@RequestBody Company company that represents the fact that request is parsed using Jackson library and passed as Company object.                                   
@RequestMapping(value = "/angularjs-http-service-ajax-post-json-data-code-example", method = RequestMethod.GET)
public ModelAndView httpServicePostJSONDataExample( ModelMap model ) {
                return new ModelAndView("httpservice_post_json");
}
@RequestMapping(value = "/savecompany_json", method = RequestMethod.POST)  
public  @ResponseBody String saveCompany_JSON( @RequestBody Company company )   {                                  

//

// Code processing the input parameters
//           
return "JSON: The company name: " + company.getName() + ", Employees count: " + company.getEmployees() + ", Headoffice: " + company.getHeadoffice();
}                                                                                             
Java Code for Company Object (Domain object)
package com.vitalflux.core;
public class Company {  
                private String name;
                private long employees;
                private String headoffice;
                public String getName() {
                                return name;
                }
                public void setName(String name) {
                                this.name = name;
                }
                public Long getEmployees() {
                                return employees;
                }
                public void setEmployees(Long employees) {
                                this.employees = employees;
                }
                public String getHeadoffice() {
                return headoffice;
                }
                public void setHeadoffice(String headoffice) {
                                this.headoffice = headoffice;
                }
}                          
                                                               

HostForLIFE.eu ASP.NET MVC 6 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.

 



ASP.NET MVC 6 Hosting UK - HostForLIFE.eu :: How to Search Records with Ajax in ASP.NET MVC ?

clock March 13, 2015 07:17 by author Peter

Today, I will tell you about how to search records in MVC with Ajax and jQuery. This code will filter out all matching records group by table column name.

First thing that you should do is create an empty ASP.NET MVC project. Now, add two class to your model. Employee and DemoContext and write the following code:
namespace SearchingDemo.Models
{
    public class Employee
    {
        [Key]
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Position { get; set; }
     }
}
namespace SearchingDemo.Models
{
    public class DemoContext : DbContext
    {
        public DbSet<Employee> Employees { get; set; }
    }
}

Add a Home Controller. Now, Add index Action to controller. and create corresponding view.
public ActionResult Index()
       {
           return View();
      }

Now, write the following code to Index View.
<link href="~/Content/Style.css" rel="stylesheet" />
<script src="~/Content/jquery-2.1.1.min.js"></script>
<script src="~/Content/CustomJs.js"></script>
<h2>Seaching Demo</h2> 
<div class="divFind">
    <table>
        <tr>
            <td>
                <input type="text" id="txtSearch" />
            </td>
            <td>
                <input type="button" id="btnSearch" value="Seach" />
            </td>
        </tr>
    </table>
</div>
<div id="divList"> 
</div>

Write the .JS code for click event on seach button to get filtered result. add following .JS code.
$(document).ready(function () {
    $('#btnSearch').on('click', function () {
        var getkey = $('#txtSearch').val();
        $.ajax({           
        type: 'POST',
            contentType: 'application/json; charset=utf-8',
            url: 'Home/Search',
            data: "{ 'searchKey':' " + getkey + "' }",
            success: function (data) {
                BindData(data);
            },            
            error: function (data) {
                alert('Error in getting result');
            }
        });
   });
}); 
function BindData(data) {
    var ulList = '<ul>';
    var resultType = ["FirstName", "LastName", "Position"];
    $.each(data, function (i, d) {
        ulList += '<li class="SeachType">' + resultType[i] + '</li>';
        if (d.length > 0) {
            $.each(d, function (key, value) {
                ulList += '<li>' + value.FirstName + ' - ' + value.LastName + ' - ' + value.Position + '</li>'
            });
        } else {            
        ulList += '<li><span class="red">No Results</span></li>';
        }
    });
    ulList += '</ul>'
    $('#divList').html(ulList);
}

Javascript code calling search function, which is written in controller. Add search function to your controller.
public JsonResult Search(string searchKey)
       {
           DemoContext dbObj = new DemoContext();
           var getKey = searchKey.Trim();
           var getFirstName = dbObj.Employees.Where(n => n.FirstName.Contains(getKey)).ToList(); 
           var getLastName = dbObj.Employees.Where(n => n.LastName.Contains(getKey)).ToList(); 
           var getPostion = dbObj.Employees.Where(n => n.Position.Contains(getKey)).ToList(); 
           IList<IList<Employee>> getTotal = new List<IList<Employee>>();
           getTotal.Add(getFirstName);
           getTotal.Add(getLastName);
           getTotal.Add(getPostion);
           int count = getTotal.Count();
           return Json(getTotal);
      }

HostForLIFE.eu ASP.NET MVC 6 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



HostForLIFE.eu Launches New Data Center in Frankfurt (Germany)

clock March 10, 2015 12:00 by author Peter

HostForLIFE.eu, a leading Windows hosting provider with innovative technology solutions and a dedicated professional services team proudly announces new Data Center in Frankfurt (Germany) for all costumers. HostForLIFE’s new data center in Frankfurt will address strong demand from customers for excellent data center services in Europe, as data consumption and hosting services experience continued growth in the global IT markets.

The new facility will provide customers and our end users with HostForLIFE.eu services that meet in-country data residency requirements. It will also complement the existing HostForLIFE.eu. The Frankfurt (Germany) data center will offer the full range of HostForLIFE.eu web hosting infrastructure services, including bare metal servers, virtual servers, storage and networking.

HostForLIFE.eu expansion into Frankfurt gives them a stronger European market presence as well as added proximity and access to HostForLIFE.eu growing customer base in region. HostForLIFE.eu has been a leader in the dedicated Windows & ASP.NET Hosting industry for a number of years now and we are looking forward to bringing our level of service and reliability to the Windows market at an affordable price.

The new data center will allow customers to replicate or integrate data between Frankfurt data centers with high transfer speeds and unmetered bandwidth (at no charge) between facilities. Frankfurt itself, is a major center of business with a third of the world’s largest companies headquartered there, but it also boasts a large community of emerging technology startups, incubators, and entrepreneurs.

Our network is built from best-in-class networking infrastructure, hardware, and software with exceptional bandwidth and connectivity for the highest speed and reliability. Every upstream network port is multiple 10G and every rack is terminated with two 10G connections to the public Internet and two 10G connections to our private network. Every location is hardened against physical intrusion, and server room access is limited to certified employees.

All of HostForLIFE.eu controls (inside and outside the data center) are vetted by third-party auditors, and we provide detailed reports for our customers own security certifications. The most sensitive financial, healthcare, and government workloads require the unparalleled protection HostForLIFE.eu provides.

Frankfurt (Germany) data centres meet the highest levels of building security, including constant security by trained security staff 24x7, electronic access management, proximity access control systems and CCTV. HostForLIFE.eu is monitored 24/7 by 441 cameras onsite. All customers are offered a 24/7 support function and access to our IT equipment at any time 24/7 by 365 days a year. For more information about new data center in Frankfurt, please visit http://hostforlife.eu/Frankfurt-Hosting-Data-Center

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

HostForLIFE.eu is awarded Top No#1 SPOTLIGHT Recommended Hosting Partner by Microsoft (see http://www.asp.net/hosting/hostingprovider/details/953). Our service is ranked the highest top #1 spot in several European countries, such as: Germany, Italy, Netherlands, France, Belgium, United Kingdom, Sweden, Finland, Switzerland and other European countries. Besides this award, we have also won several awards from reputable organizations in the hosting industry and the detail can be found on our official website.



ASP.NET MVC 6 Hosting Germany - HostForLIFE.eu :: How to Display Empty Data Text in WebGrid in ASP.NET MVC

clock March 6, 2015 06:57 by author Peter

In this case we disclose that how to show Empty Data Text in webgrid in MVC with ASP.NET.

There is no facility in webgrid to show empty datatext automatically, so we need to manually write or characterize the code for this.

Let's see a simple tips that demonstrates to show Empty Data or unfilled information message in ASP.NET MVC WebGrid by utilizing WebGrid web helper class. Here in this post we will check the  model in the event that it  has no data then show a message, like the EmptyDataText property of the ASP.NET GridView.

To utilize the WebGrid web assistant as a part of MVC application, you need to first make an article reference to the WebGrid class and utilize the GetHtml() method that renders the grid. To use the WebGrid web helper in mvc application, you have to first create an object reference to the WebGrid class and use the GetHtml() method that renders the grid.
@{
                Var grid=new WebGrid(Model);
@grid.GetHtml();
}
To Display an Empty Data Text in Webgrid when the Model has no data or no record, just you have to write  following one:
@if(Model.Count>0)
@{
Var grid=new WebGrid(Model);
@grid.GetHtml();
}
Else
<p>No Record Found</p>
}

I hope this tutorial works for you!

HostForLIFE.eu ASP.NET MVC 6 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



ASP.NET MVC 6 Hosting Frankfurt - HostForLIFE.eu :: How to Refresh PartialView Automatically?

clock March 5, 2015 07:07 by author Peter

In this post, I will tell you about Refresh PartialView Automatically in ASP.NET MVC 6.  First thing you can do is Create a MVC app on Visual Studio and then add two Classes to your model folder.

using System.ComponentModel.DataAnnotations;
namespace AutoRefresh.Models
{
    public class Employee
    {
        [Key]
        public int Id { get; set; }
        public string Name { get; set; }
        public string ImagePath { get; set; }
    }
}


using System.Data.Entity;
namespace AutoRefresh.Models
{
    public class DemoContext:DbContext
    {
        public DbSet<Employee> employee { get; set; }
    }
}

Now, add a Home Controller and write the following code:
using System;
using System.Linq;
using System.Web.Mvc;
using AutoRefresh.Models;
using System.Web.UI;
namespace AutoRefresh.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using (DemoContext dbObj = new DemoContext())
            {
               var empList = dbObj.employee.ToList();
                return View(empList);
           }
    }
        [OutputCache(Location = OutputCacheLocation.Client, VaryByParam = "none", Duration = 2)]
        public PartialViewResult _employeeShow()
       {
            using (DemoContext dbObj = new DemoContext())
            {
                var empList = dbObj.employee.ToList();
                int MinId = empList.Min(a => a.Id);
                int MaxId = empList.Max(a => a.Id);
               //generate a random number
                int GetRandomId = new Random().Next(MinId, (MaxId + 1));
                var getRandomemployee=empList.Find(a => a.Id == GetRandomId);
                return PartialView("_employeeShow", getRandomemployee);
            }
        }
     }
}


From the above code, I used OutputCache to get Data from Cache. Next step, add a PartialView _employeeShow to show the Employee.
@model AutoRefresh.Models.Employee
<div class="divEmployee" style="margin-left: 50px;">
    <img src="@Model.ImagePath" width="100" height="100" />
    <span>@Model.Name</span>
</div>

Now , create the Index View. With this view we will load our PartialView.
@model IEnumerable<AutoRefresh.Models.Employee>
@{
    ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-2.1.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        setInterval(function () {
            $('#Employee').load('/Home/_employeeShow')
        },2000);
    });
</script>
<h2>Employee</h2>
<div id="Employee">
    @Html.Partial("_employeeShow", Model.FirstOrDefault())
</div>

Using Jquery, I’m loading the PartialView in every 2 seconds.

HostForLIFE.eu ASP.NET MVC 6 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



European ASP.NET MVC Hosting - UK :: Tips Using BindAttribute in ASP.NET MVC

clock March 3, 2015 06:21 by author Scott

The Bind attribute is used to protect against over-posting. Represents an attribute that is used to provide details about how model binding to a parameter should occur.

Let’s take an example of Employee Controller which creates the records for employee basic information.

This code adds the Employee entity created by the ASP.NET MVC model binder to the Employees entity set and then saves the changes to the database.

The ValidateAntiForgeryToken attribute helps prevent cross-site request forgery attacks.

EmployeeController.cs –> Create

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(
   [Bind(Include = "FirstName, LastName, JoiningDate")]
   Employee employee)
{
   try
   {
      if (ModelState.IsValid)
      {
         db.Employees.Add(employee);
         db.SaveChanges();
         return RedirectToAction("Index");
      }
   }
   catch (DataException ex)
   {
      //Log the error
      ModelState.AddModelError("", "Unable to save. Try again.");
   }
   return View(employee);
}

Employee.cs

public class Employee
   {
      public int ID { get; set; }
      public string LastName { get; set; }
      public string FirstName { get; set; }
      public DateTime JoiningDate { get; set; }
      public string City { get; set; }

    }

For example, suppose the Employee entity includes a City property that you don’t want this web page to update. Even if you don’t have a City field on the web page, a hacker could use a tool such as fiddler, or write some JavaScript, to post a City form value. Without the Bind attribute limiting the fields that the model binder uses when it creates an Employee instance, the model binder would pick up that City form value and use it to update the Employee entity instance. Then whatever value the hacker specified for the City form field would be updated in your database.

It’s a security best practice to use the Include parameter with the Bind attribute to whitelist fields. It’s also possible to use the Exclude parameter to blacklist fields you want to exclude. The reason Include is more secure is that when you add a new property to the entity, the new field is not automatically protected by an Exclude list.

Another alternative approach, and one preferred by many, is to use only view models with model binding. The view model contains only the properties you want to bind. Once the MVC model binder has finished, you copy the view model properties to the entity instance.



ASP.NET MVC 6 Hosting - HostForLIFE.eu :: Check Username Availability in ASP.NET MVC with Ajax and jQuery

clock February 27, 2015 06:29 by author Peter

Generally in web application, users got to register to perform some operation. Therefore every user ought to have unique username. during this tutorial we are going to see a way to check Username availability Instantly using Ajax and jQuery. First, let’s create an empty ASP.NET 6 project and then Add model classes to model folder and write the following code:

using System.ComponentModel.DataAnnotations; 
namespace CheckUsernameDemo.Models
{
    public class Employee
   {
        [Key]
        public int Id { get; set; }
        public string Username { get; set; }
        public string Name { get; set; }
        public string Title { get; set; }
    }
}

Add another class
using System.Data.Entity;
namespace CheckUsernameDemo.Models
{
    public class DemoContext:DbContext
    {
        public DbSet<Employee> Employees { get; set; }
    }
}

Next step, Add a HomeController. Then an Index Action to It. Here is the code that I used:
using System.Linq;
using System.Web.Mvc;
using CheckUsernameDemo.Models;
namespace CheckUsernameDemo.Controllers
{
    public class HomeController : Controller
    {
        DemoContext dbObj = new DemoContext();
        public ActionResult Index()
        {  
            return View();
        }
    }
}

Now, make a Index View and write the following code.
@model CheckUsernameDemo.Models.Employee
@{
    ViewBag.Title = "Index";
}  
<h2>Register Here</h2>
@using (Html.BeginForm()) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary()
    <table>
        <tr>
            <td> @Html.LabelFor(m => m.Username)</td>
            <td>
                @Html.TextBoxFor(m => m.Username)
            </td>
            <td>
                <label id="chkAvailable"></label>
            </td>
        </tr>
        <tr>
            <td> @Html.LabelFor(m => m.Name)</td>
           <td>
                @Html.TextBoxFor(m => m.Name)
            </td>
            <td></td>
        </tr>
        <tr>
            <td> @Html.LabelFor(m => m.Title)</td>
            <td>
                @Html.TextBoxFor(m => m.Title)
            </td>
           <td></td>
        </tr>
        <tr>            
            <td colspan="3">
                <input type="submit" value="Register" class="btnRegister"/>
            </td>
        </tr>
    </table>
}

Now in order to examine Username accessibility Instantly we are going to Ajax call on modification Event of username Textbox. But before writing jquery code we are going to add a method in Home Controller.
public string CheckUsername(string userName)
       {
           string IsAvailable;
           var getData = dbObj.Employees.FirstOrDefault(m => m.Username == userName.Trim());
           if(getData == null)
           {
               IsAvailable = "Available";
           }
           else
           {
               IsAvailable = "Not Available";
           }
           return IsAvailable;
       }

On the above code, we’ll find Employee using EntityFramework query. It will get Employee with that username then method will return Not Available otherwise Available. Now write jQuery code on change event on Username textbox.
<script type="text/javascript">
    $(document).ready(function () {
        $('#Username').on('change', function () {
           var getName = $(this).val();
            $.ajax({
                type: 'POST',
                contentType: 'application/json; charset=utf-8',
                url: 'Home/CheckUsername',
                data: "{ 'userName':' " + getName + "' }",
                success: function (data) {
                    if (data == "Available") {
                        $('#chkAvailable').html('Username Is ' + data);
                        $('#chkAvailable').css('color', 'green'); 
                    } else {
                        $('#chkAvailable').html('Usernam Is ' + data);
                        $('#chkAvailable').css('color', 'red');
                        $('#Username').focus();
                    }
                },
                error: function (data) {
                    alert('Error in Getting Result');
                }
            });
        });
    })
</script>

With that code, we are passing the current Textbox value to Controller method to Check Username Availability. And here is the output:

HostForLIFE.eu ASP.NET MVC 6 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.

 



ASP.NET MVC 6 Hosting UK - HostForLIFE.eu :: How to use the table to Apply Custom Filter & Pagination with AngularJS in ASP.NET MVC ?

clock February 26, 2015 06:15 by author Peter

In this article I will explain you about How to use the table to apply Custom filter and pagination with angularJS in ASP.NET MVC 6. First step, you must write down the code below to your Index View.

<div>
    <div ng-controller="EmpList">
       Select Number to show items Per Page <select ng-model="PerPageItems">
            <option value="5">5</option>
            <option value="10">10</option>
            <option value="15">15</option>
            <option value="20">20</option>
        </select>
        <div ng-show="filteredItems > 0">
            <table class="table table-striped" id="tblEmp">
                <tr>
                    <th>
                        First Name <a ng-click="orderByField='FirstName';">Sort</a>
                    </th>
                    <th>
                        Last Name <a ng-click="orderByField='LastName';">Sort</a>
                    </th>
                    <th>
                        Title <a ng-click="orderByField='Title';">Sort</a>                    
</th>
                </tr>
                <tr ng-repeat="items in empList | orderBy:orderByField | Pagestart:(currentPage-1)*PerPageItems | limitTo:PerPageItems ">                    
 <td>
                        {{items.FirstName}}
                    </td>
                    <td>
                        {{items.LastName}}
                    </td>
                    <td>
                        {{items.Title}}
                    </td>
                </tr>
            </table>
        </div>
        <div ng-show="filteredItems > 0">
            <pagination page="currentPage" total-items="filteredItems" ng-model="currentPage"  items-per-page="PerPageItems"></pagination>
        </div>
    </div>
</div>


And now, write the below code to your JS file.
var myApp = angular.module('myApp1', ['ui.bootstrap']); 
myApp.filter('Pagestart', function () {    // custom filter
    return function (input, start) {
        if (input) {
            start = +start;
            return input.slice(start);
        }
        return [];
    }
}); 
myApp.controller('EmpList', function ($scope, $http, $timeout) {
    var EmployeesJson = $http.get("/Home/GetEmployees");
    $scope.orderByField = 'FirstName';
    EmployeesJson.success(function (data) {
        $scope.empList = data;
        $scope.filteredItems = $scope.empList.length;  
        $scope.totalItems = $scope.empList.length;  // Total number of item in list.
        $scope.PerPageItems = 5;  // Intially Set 5 Items to display on page.
        $scope.currentPage = 1;   // Set the Intial currnet page
    });
    $scope.filter = function () {
        $timeout(function () {
            $scope.filteredItems = $scope.filtered.length;
        }, 10);
    };
});

Now, write the following JS Library to your View. And then, run the project. I hope this tutorial works for you!

HostForLIFE.eu ASP.NET MVC 6 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



ASP.NET MVC 6 Hosting Russia - HostForLIFE.eu :: How to Highlight Selected Menu Item in ASP.NET MVC ?

clock February 13, 2015 07:23 by author Peter

Each time we are making application with some quite menu it's nice to own the essential practicality to focus on selected menu item in ASP.NET MVC 6 . There are some solutions you'll notice within the web, but when I've tried to use one it hasn't been operating excellent. So, let's produce our own in 3 steps.

1. First of all we want to make MVC HTML helper class, containing method to use the appropriate CSS class based on some conditions.
2. Now, we want the CSS class itself to be applied for selected  menu item, it is very easy, background color change, font modification, etc.
3. The menu HTML ought to be changed to use our helper while rendering page.

And here is the example helper class code:
public static class MenuHelper
{
    public static string IsSelected(this HtmlHelper html, string controller = null, string action = null)
    {
        const string cssClass = "selected";
        string currentAction = (string)html.ViewContext.RouteData.Values["action"];
        string currentController = (string)html.ViewContext.RouteData.Values["controller"];
        if (String.IsNullOrEmpty(controller))
            controller = currentController;
        if (String.IsNullOrEmpty(action))
            action = currentAction;
        return controller.Split(';').Contains(currentController) && action.Split(';').Contains(currentAction) ?
            cssClass : String.Empty;
   }
}

Pretty easy, isn't it? we are setting the 'selected" CSS class based on the controller and action combination (both arguments are optional). sometimes we've in the menu only main pages, however we would like to tell user in a way regarding the context whereas he's opening sub-page. the best way is to stay the menu item highlighted when user is browsing some sub-pages. This helper implementation is supporting this case likewise. we are able to pass as arguments many controller names, or action names and for those groups we are able to highlight particular menu item.

Highlight menu item for Index action from Home controller:
class="@Html.IsSelected(null, "Index")"

Highlight menu item for several actions coming from one controller:
class="@Html.IsSelected(null, "Contact;About")"

HostForLIFE.eu ASP.NET MVC 6 Hosting
HostForLIFE.eu 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 customers from around the globe, spread across every continent. We serve the hosting needs of the business and professional, government and nonprofit, entertainment and personal use market segments.



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