-->

Friday, April 10, 2015

fix parameters dictionary contains a null entry

Introduction

Basically that's type of error occurs due to null value. But i have already try to pass some value, manually in the controller function. Always i get this error. Ok let's start to story of the error. I want to get the record from single department table and that's name is hyperlinked. Now, When i click to any hyperlink then open respective employee details, which is stored in another table. What i was done. First i was write the code for retrieving the value from single data base table, on that time, my code run successfully. But in Next time when i wrote the code for retrieving the record from two database table, on that time, i got the error.

What steps i have taken

  1. First step to prepare classes for employee and department
  2. Second step to create a context for both class
  3. third step to prepare a controller for department, as well as prepare view for department
  4. forth step to prepare controller for employee, as well as prepare view for employee.

Error

The parameters dictionary contains a null entry for parameter 'deptid' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult linkEmp(Int32)' in 'WebApplication10.Controllers.EmployeeController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters.

SnapShot


How to fix it

Prepare the seperate Context class for each model. I have two class that is employee and department , If you want to retrieve data from both class then you want to make two seperate context for each. I have two context that is 1. EmployeeContext 2. DepartmentContext

Thursday, April 9, 2015

Access data from database table in MVC

In MVC, we can access data from database easily. When we send any request to the server, respond generated by the controller. Data access from the Model and render by the View. First to make a database table using visual studio 2010 or higher. we have database table that is "Employee", in which have some attributes, these are

CREATE TABLE [dbo].[Employee]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[Name] NVARCHAR(50) NULL,
[Age] INT NULL
)


  1. First to install entity framework by the "Nuget packages", which is available in tools-->Library Package Manager
  2. This is already available in 4.5 framework or 4.5.1.
ntity framework by the "Nuget packages
  1. Now, add the employee class in model folder with some public properties  like
  2.  
     namespace WebApplication10.Models
    {
    public class Employee
    {
    public int ID { get; set; }
    public string Name { get; set; }
    public int age { get; set; }
    }
    }
    
    
  3. Now, add another class which is EmployeeContext.cs class, which is inherit from DBContext class. DBContext class is available in System.Data.Entity namespace. This class is used for making connection. Now, your code look like
  4.  
    using System.Data.Entity;namespace WebApplication10.Models
    {
    public class EmployeeContext: DbContext
    {
    public DbSet<Employee> empl { get; set; }}
    }
    
    Here, empl is the public property, by which we can create the connection to the database.
  5. Now, add the ConnectionString in the web.config file that is
    <add name="EmployeeConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Initial Catalog=Database1;Integrated Security=True"
    providerName="System.Data.SqlClient" />
    
    
  6. Map the database table with the Employee class using Table class which is available in  System.ComponentModel.DataAnnotations.Schema; namespace, after mapping now your code look like
    using System.ComponentModel.DataAnnotations.Schema;namespace WebApplication10.Models
    {[Table("Employee")]
    public class Employee
    {
    public int ID { get; set; }
    public string Name { get; set; }
    public int age { get; set; }
    }
    }
    
  7. Now, create a EmployeeController  in controller folder, Which is inherit from Controller class. This Controller class is exists in System.Web.Mvc namespace. Also create a public method, which return ActionResult class. Now your code look like
     using System.Linq;
    using System.Web.Mvc;
    using WebApplication10.Models;
    
    namespace WebApplication10.Controllers
    {
    public class EmployeeController : Controller
    {
    //
    // GET: /Employee/
    public ActionResult Index()
    {
    EmployeeContext context = new EmployeeContext();
    Employee emp = context.pl.Single();
    
    return View(emp);
    }
    }
    }
    
    Here we create a instance of EmployeeContext class and invoke the public property of that class.
  8. Now create the view for this program. Before adding the view with their presentation must build the project. Learn How to create the new view
 create the view for this program

  1. Prepare the view and access all the properties of the employee class by the @Model properties.
     @model WebApplication10.Models.Employee
    
    @{
    ViewBag.Title = "Employee Details";
    }
    
    <h2>Employee Details are:</h2>
    Employee Id : <p>@Model.ID</p>
    Employee Name : <p>@Model.Name</p>
    Employee Age : <p>@Model.age</p>
    
    
  2. Now run the code and check your desired output
Access data from database table in MVC

Data Binding in MVC

In MVC, we can access data from database easily. When we send any request to the server, respond generated by the controller. Data access from the Model and render by the View. First to make a database table using visual studio 2010 or higher. we have database table that is "Employee", in which have some attributes, these are
CREATE TABLE [dbo].[Employee]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[Name] NVARCHAR(50) NULL,
[Age] INT NULL
)
  1. First to install entity framework by the "Nuget packages", which is available in tools-->Library Package Manager
  2. This is already available in 4.5 framework or 4.5.1.
  3. Install Entity Framework By the nuget packages
  4. Now, add the employee class in model folder with some public properties  like
     namespace WebApplication10.Models
    {
    public class Employee
    {
    public int ID { get; set; }
    public string Name { get; set; }
    public int age { get; set; }
    }
    }
    
    
  5. Now, add another class which is EmployeeContext.cs class, which is inherit from DBContext class. DBContext class is available in System.Data.Entity namespace. This class is used for making connection. Now, your code look like
    using System.Data.Entity;namespace WebApplication10.Models
    {
    public class EmployeeContext: DbContext
    {
    public DbSet<Employee> empl { get; set; }}
    }
    
    Here, empl is the public property, by which we can create the connection to the database.
  6. Now, add the ConnectionString in the web.config file that is
    <add name="EmployeeConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Initial Catalog=Database1;Integrated Security=True"
    providerName="System.Data.SqlClient" />
    
    
  7. Map the database table with the Employee class using Table class which is available in  System.ComponentModel.DataAnnotations.Schema; namespace, after mapping now your code look like
    using System.ComponentModel.DataAnnotations.Schema;namespace WebApplication10.Models
    {[Table("Employee")]
    public class Employee
    {
    public int ID { get; set; }
    public string Name { get; set; }
    public int age { get; set; }
    }
    }
    
  8. Now, create a EmployeeController  in controller folder, Which is inherit from Controller class. This Controller class is exists in System.Web.Mvc namespace. Also create a public method, which return ActionResult class. Now your code look like
     using System.Linq;
    using System.Web.Mvc;
    using WebApplication10.Models;
    
    namespace WebApplication10.Controllers
    {
    public class EmployeeController : Controller
    {
    //
    // GET: /Employee/
    public ActionResult Index()
    {
    EmployeeContext context = new EmployeeContext();
    Employee emp = context.pl.Single();
    
    return View(emp);
    }
    }
    }
    
    Here we create a instance of EmployeeContext class and invoke the public property of that class.
  9. Now create the view for this program. Before adding the view with their presentation must build the project. Learn How to create the new view

Before adding the view with their presentation must build the project


  1. Prepare the view and access all the properties of the employee class by the @Model properties.
     @model WebApplication10.Models.Employee
    
    @{
    ViewBag.Title = "Employee Details";
    }
    
    <h2>Employee Details are:</h2>
    Employee Id : <p>@Model.ID</p>
    Employee Name : <p>@Model.Name</p>
    Employee Age : <p>@Model.age</p>
    
    
  2. Now run the code and check your desired output

Data Binding in MVC

How to create new user in ASP.NET 4.5

I have already explain custom registration control in asp.net on my blog. Now,A very simple method provided by the Microsoft in DOTNET Framework 4.5 for create new users. Using "Microsoft.AspNet.Identity" namespace you can create new users also implementing role init. This namespace is available in "Microsoft.AspNet.Identity.Core" assembly. Username and password are the primary field of registration so first of all, we will store the username by the textbox in "IUser" interface.  In this assembly IUser interface property is inherited by the IdentityUser class and this class is inherited by the ApplicationUser class. So we can easily access the UserName property of the IUser interface in ApplicationUser class.

var user = new ApplicationUser() { UserName = UserName.Text };

By this line of code, we can store the unique username in the database using the connection string, which is available in ApplicationDbContext  class. Now after retrieving the username, should go for second step that is store password in UserManager class using Create method( ), which is take some parameters such as

Create(ApplicationUser user, String Password);

Now, Retrieved result will store in IdentityResult class. Using Succeeded property of that class, we will check that username and password.
Now, the complete code is 

var manager = new UserManager();

var user = new ApplicationUser() { UserName = UserName.Text };

IdentityResult result = manager.Create(user, Password.Text);

Code generate the following output

How to create new user in ASP.NET 4.5

  In the next article i will show you how to add custom fields or you can say how to customized it.

How to make connection with the database

If you are creating dynamic application then must be used database. Before open the connection must to create connection string with the engine or database. Various database engine available in the market, which are SQL, MYSQL, ORACLE etc. Each application have own connection string to connect with the database. In this article, we will learn about that.

How to create connection String with SQL in ASP.NET C#

In Code File

using System.Data.SqlClient;

SqlConnection con = new SqlConnection();

con.ConnectionString =ConfigurationManager.ConnectionStrings ["ConnectionString"].ToString ();
con.Open ();
Using SqlConnection class, you can connect your application with database server. This class is exist in System.Data.SqlClient namespace. ConnectionString is the property of that class, in which you should pass some parameter which is mentioned below in web.config file.

In Web.Config file

<connectionStrings>

<add name="ConnectionString" connectionString="Data Source= (LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework"
providerName="System.Data.SqlClient" />
</connectionStrings>

You can pass the ConnnectionString directly in the .cs file, but here we use web.config file for security purpose because this file is not rendered on the browser. ConnectionString take some parameters like DataSource( server name), AttachDbFilename (location of the file, where your database file exist), Integrated Security(takes windows based security). You can use Initial Catalog for database file name also username and password in place of  Integrated Security.

How to create connection String in PHP with phpmyadmin

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("studentinfo", $con);
?>

In the above mentioned code, 'mysql_connect' is a method, in which you have to pass name of server, username of the server and password. After creating the connection you should check that is connection is ok using die method. Using 'mysql_select_db' method you can pass the name of the database for updating the data.

How to use app bar in windows store app

Introduction

App bar is a container, which is contain items on it, such as AppBarButtton, AppBarToggleButton, and AppBarSeparator. You can put an app bar at the top of the page, at the bottom of the page, or both. If you want to use app bar, right click on window screen or press window+Z because App bar is hidden by default.

How to add App bar into your application

Step-1 : Assign a AppBar control to the TopAppBar or BottomAppBar property of a Page. like

<Page.TopAppBar>
    <AppBar>
        <!-- Place control here like AppBarButton -->
    </AppBar>
</Page.TopAppBar>

Step-2 : If you want to add App Bar at Bottom, must Assign a AppBar control to the BottomAppBar property of a Page, like


<Page.BottomAppBar>
   <AppBar>
        <!-- Place control here like AppBarButton -->
    </AppBar>
</Page.BottomAppBar>

Let's take an simple example, App Bar with Refresh button

<Page.TopAppBar>
        
        <AppBar>
            
            <AppBarButton Label="refresh" Icon="Refresh" Click="AppBarButton_Click" />
        </AppBar>
    </Page.TopAppBar>

Code Generate the following output

How to use app bar in windows store app

How to customize GroupedItemsPage in windows store Grid app

In previous article, we have already seen about GroupItemsPage. Now, if you want to customize it. Your data source file exist in DataModel folder. Open SampleData.Json file , which is inside in it. Your file look like.

How to customize GroupedItemsPage in windows store Grid app
If you run this code , default output will appear on your window screen. Look Like

How to customize GroupedItemsPage in windows store Grid app

Change first Group1-item1 picture using above mentioned file. You can change here, for change Item image , which is shown in first tile.

    {
        "UniqueId": "Group-1-Item-1",
        "Title": "Item Title: 1",
        "Subtitle": "Item Subtitle: 1",
        "ImagePath": "LightGray.png",
        "Description" : "Curabitur class aliquam vestibulum nam curae maecenas sed integer cras phasellus",
        "Content" : "About first "
      }, 

Change ImagePath for changing image. Before change , must take single image file into your solution explorer.
After change your code will look like

    {
        "UniqueId": "Group-1-Item-1",
        "Title": "Item Title: 1",
        "Subtitle": "Item Subtitle: 1",
        "ImagePath": "jacob.jpg",
        "Description" : "Curabitur class aliquam vestibulum nam curae maecenas sed integer cras phasellus",
        "Content" : "About first "
      },

How to customize GroupedItemsPage in windows store Grid app
© Copyright 2013 Computer Programming | All Right Reserved