So übergeben Sie Parameter oder Abfragezeichenfolgen an die obere Navigation in _Layout.cshtml in ASP.NET
P粉343408929
2023-09-01 10:01:28
<p>In meinem Controller habe ich drei Parameter. (GET:/Class/List)</p>
<pre class="brush:php;toolbar:false;">public class ClassController : Controller {
public ActionResult List(string classCode = null, string className = null, List<string> semester = null)
{ ... }
}</pre>
<p>Und ich habe das in meiner Navigationsleiste...</p>
<pre class="brush:php;toolbar:false;"><a class="nav-link text-dark"" asp-controller=" ="Liste">Klassen</a></pre>
<p>Ich möchte einen Wert des Parameters Semester übergeben, damit der Link wie folgt aussieht: <code>localhost/Class/List?semester=9&semester=1</code>. Danke! </p>
<p>Ich habe ViewBag und asp-route-id ausprobiert, aber es ist fehlgeschlagen. </p>
这可能不起作用,因为你的ActionResult List期望的是一个字符串列表。根据我的经验,一个字符串列表通常需要你通过循环Model -> item.semester来列出视图中的所有值。
你可以尝试将
List<string>
更改为单个string
。然后将这个附加到“a”标签。假设你在控制器中填充了一个
Viewbag.semesterId
。你可以尝试将List转换为查询字符串。 操作:
A.cshtml:
结果: