Skip to main content

How to get all model validation errors in ASP.NET MVC?

In ASP.NET MVC you can get a list of all validation errors for your model from the ModelState

if (!ModelState.IsValid)
{
var modelErrors = new List<string>();
foreach (var modelState in ModelState.Values)
{
foreach (var modelError in modelState.Errors)
{
modelErrors.Add(modelError.ErrorMessage);
}
}
// Here you have the list of error, you can show them on the view or generate a erro string and display it using javascript.
}

If you want to display it in razor then you can use @Html.ValidationSummary().

Hope it will help to find the actual error from the modal state.

Serialization & Deserialization using JSON In C#

Introduction

The very useful method of converting JSON object to .Net object and .Net object to Json object is using the JsonConvert. It converts Json objects to .Net object and with the Same property with value and .Net objects to equivalent JSON object.

In this article we will see how to serialize .NET type objects into JSON object and then deserialize data in the JSON format back into .NET types using the JsonConvert class.

What is JSON?

JSON (JavaScript Object Notation) is one lightweight and efficient data exchange format or we can say like JSON is most desirable data encoding format which allows fast exchanges of small amounts of data between client browsers and web services or web api.

JsonConvert

JsonConvert class is in the namespace “Newtonsoft.Json” and for this namespace you need to add reference of Newtonsoft.Json dll or nuget package. You can install a Newtonsoft.Json nuget package by command “Install-Package Newtonsoft.Json” in package manager console.

If we want to convert .Net object to Json object then the SerializeObject() method will be used and when we want to convert Json object back to .Net object then DeserializeObject() method will be used from the JsonConvert class

JSON Serialization

Now lets see the JSON Serialization process with code example, we have an instance of Customer class as below

public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string PhoneNo { get; set; }
}

Now create an object of Customer class and initilize value of each properties. Then call SerializeObject() of JsonConvert class with passing Customer object.
See the below codesnippet

// Serializaion .Net Object
Customer customer = new Customer();
customer.Id = 1;
customer.Name = "Tarun Dudhatra";
customer.Email = "email@address.com";
customer.PhoneNo = "5*9*9 5*8*5";

// Convert Customer object to JOSN encoded format
string jsonDataString = JsonConvert.SerializeObject(customer);

Console.Write(jsonDataString);
Console.ReadKey();

It will return the JSON string as below

{"Id":1,"Name":"Tarun Dudhatra","Email":"email@address.com","PhoneNo":"5*9*9 5*8*5"}

JSON Deserialization

See the below JSON Deserialization process with code example, we have same Customer class string as below

{"Id":2,"Name":"FirstName LastName","Email":"email@address.com","PhoneNo":"5*9*9 5*8*5"}

Now call the DeserializeObject() of JsonConvert class and pass the object type of Customer so it will deserialize it into Customer Class.
See the below codesnippet

Deserializaion JSON Object

string JSONObject = @"{ 'Id':2,'Name':'FirstName LastName','Email':'email@address.com','PhoneNo':'5*9*9 5*8*5'}";

Customer customer = JsonConvert.DeserializeObject<Customer>(JSONObject);

Console.WriteLine( "Id : " + customer.Id);
Console.WriteLine( "Name : " + customer.Name);
Console.WriteLine( "Email: " + customer.Email);
Console.WriteLine( "Phone: " + customer.PhoneNo);
Console.ReadKey();

It will print the below out put on the screen

Id : 2
Name : FirstName LastName
Email: email@address.com
Phone: 5*9*9 5*8*5

That’s it, in my upcoming article we will see other interesting stuff like this.

Process with an ID #### is not running in visual studio community edition 2015

Today I was working on a project and my team member has push the changes to repository first time and I get the latest from git. When I tried to run the project I get an error like “Process with an ID #### is not running”. It’s showing Id number different every time.

If I check the error window It showing me an error like below
“The program ‘[3148] iisexpress.exe’ has exited with code -1073741816 (0xc0000008) ‘An invalid handle was specified’.”

In browser it’s shows me message like “The webpage is not available.”

I have tried different different solutions and check but non of them fixed my issue. After googling I found some different different solution and finally 1 solution worked for me.

So let me show you how to resolve that issues in visual studio.

Solution

1. Close all the instances of VS in your PC.
2. Open folder which contains solution file for current project and delete the hidden .vs folder.
3. Again open the Visual Studio.
4. Press F5 and IIS Express should load as normal, allowing you to debug.

 

Note: As per my experience and viewing some kind of solutions over the net, it looks like by moving project from 1 PC to other PC or other environment or Different version of Visual Studio it causes the problem. So there may be some environment specific information available in the .vs folder.