我正在与我的应用程序中的一个 case 作斗争,当我为管理员用户显示参数列表时,我有主视图.

当然,在我的视图中,我使用像模型一样的数据(两个字符串属性,名称和值),使用Display时一切正常,但当我单击编辑(操作链接)时,我只想将参数的名称传递给控制器(HttpGet)中的编辑方法,但我想传递字符串值而不是int,但我的方法总是得到空值.

谁能告诉我,是否有可能从我的模型中传递一个字符串参数?

我的代码如下所示:

我使用的视图模型

@model IEnumerable<ParametersDto>

我的操作链接

@Html.ActionLink("Edit", "Edit", "Parameters", new { id=item.Name })</td>

代码:

[HttpGet]
public IActionResult Edit(string name)        
{
    // ...
}

在我的方法中,我try 使用字符串和我的视图模型(对象)作为类型,但我总是使用空值.

推荐答案

将操作方法的签名从

public IActionResult Edit(string name)

public IActionResult Edit(string id) 

That should allow the built in binder 至 hydrate the argument.

Csharp相关问答推荐

如何定义所有项目的解决方案版本?

我可以将Expressc操作设置为在另一个Expressc操作完成后自动发生吗?

如何在Visual Studio中为C# spread操作符设置格式规则?

使用特定格式的JsonConvert序列化对象

在. net毛伊岛窗口的深度链接已经创建""

为什么Blazor值在更改后没有立即呈现?

C#.NET依赖项注入顺序澄清

从应用程序图API调用访问所有者字段

.NET HttpClient、JsonSerializer或误用的Stream中的内存泄漏?

从c#列表中删除额外的对象&对象&>从ASP.NET WebForm返回json响应

CS1660无法将lambda表达式转换为类型INavigationBase,因为它不是委托类型

NET8 MAUI并部署到真实设备上进行测试

如何向事件添加成员

VS 2022 for ASP.NET Core中缺少自定义项模板

在C#中过滤Excel文件

在字符串C#之前获取数字

Blazor Server.NET 8中的Blazore.FluentValidation问题

Cmd中的&ping.end()";有时会失败,而";ping";总是有效

ASP.NET核心MVC|如何在控制器方法之间传递值

使用生产环境调试我的应用程序的快速方法