ASP.Net MVC - 使用href从视图传递参数

时间:2017-05-09 21:56:36

标签: javascript c# asp.net asp.net-mvc

我目前有以下链接从一个视图导航到另一个视图:

"<td class='EmployeeTableTD'><a href='personDetails'>" + item.Name + " " + item.Surname + "</a></td>" +

该表在Javascript中动态创建,并从ADO模型中获取数据(项)。

我想附加参数以将它们传递给控制器​​,然后传递到下一个屏幕的视图。

我试过平常的

'personDetails?myParameter=' + item.Name

方法类型,但这会导致404错误。我也尝试在代码中插入一个@ HTML.ActionLink,但这也有问题,因为智能感知器无法识别&#39; item&#39;在尝试设置参数时。

有没有办法可以将动态参数从此视图链接传递到下一个控制器/视图?

控制器:

using System;
...
namespace techTest4.Controllers
{
    public class HomeController : Controller
    {
        private TechTestEntities techContext = new TechTestEntities();

        public ActionResult personDetails()
        {
            return View();
        }

        public ActionResult Index()
        {
            return View();
        }

所以我的导航正确地转到了#home / personDetails&#39;以及&#39; personDetails.cshtml&#39; view(它还没有,但需要输出传递的参数)。它可以说应该导航到&#39; Home / personDetailsController / {someIndexMethod}&#39;将处理下一页的设置。

配置:

routes.MapRoute(
                name: "Details",
                url: "PeopleDetails/{action}/{id}",
                defaults: new
                {
                    controller = "PeopleDetails",
                    action = "All",
                    id = UrlParameter.Optional
                }
            ); 

1 个答案:

答案 0 :(得分:2)

您必须指定您在行动中接收的参数:

public ActionResult personDetails(String myParameter)
{
    return View();
}