Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.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
C# 表行中的asp路由未传递id_C#_Entity Framework_Asp.net Core_Razor - Fatal编程技术网

C# 表行中的asp路由未传递id

C# 表行中的asp路由未传递id,c#,entity-framework,asp.net-core,razor,C#,Entity Framework,Asp.net Core,Razor,asp路由在标记中使用时,似乎没有正确地将Id发送到my View方法。id作为“null”传入。 当我将它与一个标记一起使用时,它工作得很好(除了它没有打开一个模态);但是,我希望整行都可以单击进行编辑 我试着检查外壳,确保它不是什么愚蠢的东西;但是,当将相同的代码粘贴到标记中时,它没有任何问题。当我在控制台中查看时,我可以看到asp路由id正在拉取正确的id。它命中控制器,并通过if(user==null),因为它以null的形式出现 HTML: @型号PortalDev.Models.A

asp路由在标记中使用时,似乎没有正确地将Id发送到my View方法。id作为“null”传入。 当我将它与一个标记一起使用时,它工作得很好(除了它没有打开一个模态);但是,我希望整行都可以单击进行编辑

我试着检查外壳,确保它不是什么愚蠢的东西;但是,当将相同的代码粘贴到标记中时,它没有任何问题。当我在控制台中查看时,我可以看到asp路由id正在拉取正确的id。它命中控制器,并通过if(user==null),因为它以null的形式出现

HTML:


@型号PortalDev.Models.ApplicationUser
@Model.Id
@Model.UserName
@型号.电子邮件>
@Model.PhoneNumber
@模范城市
编辑
控制器:


[HttpGet]
公共异步任务EditUser(字符串id)
{
var user=await userManager.FindByIdAsync(id);
if(user==null)
{
ViewBag.ErrorMessage=$“找不到Id={Id}的用户”;
返回视图(“未找到”);
}
var userClaims=await userManager.GetClaimsAsync(用户);
var userRoles=await userManager.GetRolesAsync(用户);
var模型=新的EditUserViewModel
{
Id=user.Id,
Email=user.Email,
UserName=user.UserName,
城市=用户。城市,
Claims=userClaims.Select(c=>c.Value).ToList(),
角色=用户角色
};
返回PartialView(“~/Views/Modals/\u EditUserModalPartial.cshtml”,model);
}

预期的行为是单击表行,它会显示一个模式,其中包含EditUserViewModel

数据url=“@url.Action(“EditUser”)”
替换为
数据url=“@url.Action(“EditUser”,new{Id=Model.Id})”。这将生成正确的Url。

Id
实际上是
字符串(而不是
int
)?如果您将方法更改为
EditUser([FromRoute]string id)
?@crgolden是的,它实际上是一个字符串,它类似于GUID,但有一种字符串类型。唯一有效的方法是我在前端做一个标签。我尝试过的其他方法都不起作用(包括[FromRoute])。