ASP MVC3 ACTIONLINK NOT RENDERING VARIABLES

Royce Roy

Total Post:149

Points:1043
Posted by  Royce Roy
 1385  View(s)
Ratings:
Rate this:
I am trying to use an ASP MVC3 action link to navigate to another view (same controller). The view is attached to a model that uses a compound key for its 

primary key. Below is the action link as it's written on the view

@Html.ActionLink("Edit Agent", "AgentEdit", "BankListMasterController", 
                                                new { @agentId = int.Parse(item.AgentId), @id = item.ID})
However when this is rendered it renders as the following

http://localhost:2574/BankListMaster/AgentEdit?Length=24
Which obviously throws an error:

The parameters dictionary contains a null entry for parameter 'agentId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ViewResult AgentEdit

(Int32, Int32)' in 'Monet.Controllers.BankListMasterController'. An optional parameter must be a reference type, a nullable type, or be declared as an 

optional parameter.
Parameter name: parameters
Here is the controller method for good measure:

    public ViewResult AgentEdit(int agentId, int id)
    {
        string compare = agentId.ToString();

        BankListAgentId agent = (from c in db.BankListAgentId
                                 where c.ID == id &&
                                       c.AgentId.Equals(compare)
                                 select c).Single();

        return View("AgentEdit", agent);
    }
  1. AVADHESH PATEL

    Post:604

    Points:4228
    Re: ASP MVC3 ActionLink not rendering variables

    Hi Royce!

    try action link as below

    @Html.ActionLink("Edit Agent", "AgentEdit", "BankListMasterController",
        new { agentId = int.Parse(item.AgentId), id = item.ID}, null)

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!