我遇到了一个错误: CS1738:命名参数规范必须在指定所有固定参数之后出现。请使用语言版本7.2或更高版本允许不跟踪命名参数.
你能帮忙吗?
<div class="form-group col-md-4">
@Html.LabelFor(expression: model => model.SubjectId)
@Html.DropDownListFor(expression: model => model.SubjectId, Model.ListOfSubject,htmlAttributes: new { @class = "form-control", @id = "txtTotalMarks" })</div> //error
div class="form-group col-md-4">发布于 2022-09-30 18:04:38
顾名思义,“命名参数”是指在值之前用冒号指定参数的名称。
未命名的参数称为“固定参数”或“位置参数”,因为它们所处的顺序(位置)决定了哪个参数是哪个参数。
,例如
FooBar(argu1: val1, argu2: val2)使用显式命名的argu1和argu2参数调用FooBar方法。
调用它而不命名任何一个参数看起来就像FooBar(val1, val2)。
在版本7.2之前的C#版本中,不能在位置参数之前指定任何命名参数。
在您的代码中:
@Html.DropDownListFor(
expression: model => model.SubjectId, // named argument
Model.ListOfSubject, // positional argument
htmlAttributes: new { ... }) // named argument在指定没有名称的expression参数之前,使用名称指定了selectList参数。
您需要按名称指定所有参数:
@Html.DropDownListFor(
expression: model => model.SubjectId,
selectList: Model.ListOfSubject,
htmlAttributes: new { @class = "form-control", @id = "txtTotalMarks" })或从第一个参数中移除名称expression::
@Html.DropDownListFor(
model => model.SubjectId,
Model.ListOfSubject,
htmlAttributes: new { @class = "form-control", @id = "txtTotalMarks" })或者只需按位置指定所有参数:
@Html.DropDownListFor(
model => model.SubjectId,
Model.ListOfSubject,
new { @class = "form-control", @id = "txtTotalMarks" })https://stackoverflow.com/questions/73878371
复制相似问题