Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 Can';无法在actionLink中传递参数id_Asp.net Mvc 3 - Fatal编程技术网

Asp.net mvc 3 Can';无法在actionLink中传递参数id

Asp.net mvc 3 Can';无法在actionLink中传递参数id,asp.net-mvc-3,Asp.net Mvc 3,无法理解问题在哪里。。。我的rout值是: routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Paramete

无法理解问题在哪里。。。我的rout值是:

routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
我尝试传递参数id:

@Html.ActionLink(app.Name, "SingleAppEdit", "Admin", new { id = app.Id }, null)
我在控制器“管理”中的操作:

public ActionResult SingleAppEdit(字符串appId)
{
变量位置=新列表
{
新建SelectListItem(){Text=“Top”,Value=“Top”},
新建SelectListItem(){Text=“Bottom”,Value=“Bottom”},
新建SelectListItem(){Text=“None”,Value=“None”}
};
ViewData[“位置列表”]=新的选择列表(位置、值、文本);
var app=Apps.FirstOrDefault(a=>a.Id==Convert.ToInt32(appId));
返回视图(app);
}

我在控制器中得到空值。有人能帮忙吗

将控制器中的appID更改为如下所示的唯一ID:

public ActionResult SingleAppEdit(string id)
        {
            var positions = new List<SelectListItem>
                                       {
                                           new SelectListItem() {Text = "Top", Value = "Top"},
                                           new SelectListItem() {Text = "Bottom", Value = "Bottom"},
                                           new SelectListItem() {Text = "None", Value = "None"}
                                       };
            ViewData["PositionsList"] = new SelectList(positions, "Value", "Text");


            var app = Apps.FirstOrDefault(a => a.Id == Convert.ToInt32(id));
            return View(app);
        }
public ActionResult SingleAppEdit(字符串id)
{
变量位置=新列表
{
新建SelectListItem(){Text=“Top”,Value=“Top”},
新建SelectListItem(){Text=“Bottom”,Value=“Bottom”},
新建SelectListItem(){Text=“None”,Value=“None”}
};
ViewData[“位置列表”]=新的选择列表(位置、值、文本);
var app=Apps.FirstOrDefault(a=>a.Id==Convert.ToInt32(Id));
返回视图(app);
}

将控制器中的appID更改为如下ID:

public ActionResult SingleAppEdit(string id)
        {
            var positions = new List<SelectListItem>
                                       {
                                           new SelectListItem() {Text = "Top", Value = "Top"},
                                           new SelectListItem() {Text = "Bottom", Value = "Bottom"},
                                           new SelectListItem() {Text = "None", Value = "None"}
                                       };
            ViewData["PositionsList"] = new SelectList(positions, "Value", "Text");


            var app = Apps.FirstOrDefault(a => a.Id == Convert.ToInt32(id));
            return View(app);
        }
public ActionResult SingleAppEdit(字符串id)
{
变量位置=新列表
{
新建SelectListItem(){Text=“Top”,Value=“Top”},
新建SelectListItem(){Text=“Bottom”,Value=“Bottom”},
新建SelectListItem(){Text=“None”,Value=“None”}
};
ViewData[“位置列表”]=新的选择列表(位置、值、文本);
var app=Apps.FirstOrDefault(a=>a.Id==Convert.ToInt32(Id));
返回视图(app);
}

您的方法参数名称是
appId
。但是您正在尝试传递一个名为
id
的参数

解决方案:更改参数名称以与方法定义匹配

@Html.ActionLink(app.Name, "SingleAppEdit", "Admin",
                                new { appId= app.Id }, null)

您的方法参数名称是
appId
。但是您正在尝试传递一个名为
id
的参数

解决方案:更改参数名称以与方法定义匹配

@Html.ActionLink(app.Name, "SingleAppEdit", "Admin",
                                new { appId= app.Id }, null)