【发布时间】:2018-04-02 16:58:50
【问题描述】:
我有以下问题:
public class ShortInfo
{
public int Id { get; }
public string FullName { get; }
}
public class SelectSomething
{
public int Id { get; set; }
public List<ShortInfo> Info { get; set; }
}
在共享文件夹中我有这个部分视图:
@model SelectSomething
<select asp-for="Id" asp-items="@(new SelectList(Model.Info, "Id",
"FullName"))"></select>
局部视图显示列表,一切正常。
但是,如果尝试执行控制器代码,请通过如下链接:
@Url.Action("Controller","Action", new { id = Model.Id })
不是这个
@Url.Action("Controller","Action")
我有两个不同的结果。
当部分视图的列表被创建时,它显示的内容和以前一样,但它会根据 id 号自动设置默认值。
例如,如果我从没有额外参数的@Url.Action 获得此视图,则列表是 4 个元素的列表,默认是第一个。
如果我点击链接:
@Url.Action("Controller","Action", new { id = Model.Id })
我得到完全相同的列表,但显示的默认值是 Model.Id 的索引。
谁能帮我理解这里发生了什么,谢谢。
【问题讨论】:
-
请分享您的操作方法的代码,这些方法分别使用 Controller/Action 和 Controller/Action/Id 路由调用。
标签: asp.net-core