Поскольку это часто просматриваемый вопрос, я хочу упомянуть, что функция PowerShell должна использовать одобренные глаголы (Verb-Noun как имя функции). Также вы можете указать такие параметры, как параметр обязательный и положение параметра:
function Test-Script
{
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$true, Position=0)]
[string]$arg1,
[Parameter(Mandatory=$true, Position=1)]
[string]$arg2
)
Write-Host "`$arg1 value: $arg1"
Write-Host "`$arg2 value: $arg2"
}
Чтобы передать параметр в вы можете либо использовать позицию:
Test-Script "Hello" "World"
Или вы укажите имя параметра:
Test-Script -arg1 "Hello" -arg2 "World"
Вы не используете круглые скобки, например вы делаете, когда вызываете функцию внутри C #.
Я бы рекомендовал always передавать имена параметров при использовании более одного параметра, так как это больше читаемый .
По умолчанию он просматривает только открытые свойства, а не поля.
MVC попытается привязать данные запроса к параметрам действия по имени. MVC будет искать значения для каждого параметра, используя имя параметра и имена его общедоступных настраиваемых свойств. В приведенном выше примере единственным параметром действия называется id, который MVC привязывает к значению с тем же именем в значениях маршрута. В дополнение к значениям маршрута MVC будет связывать данные из различных частей запроса и делает это в установленном порядке.
blockquote>https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding?view=aspnetcore-2.2
public class MyModel { public List<myData> myList = new List<myData>(); public List<myType> Types = new List<myType>(); public string SelectedType; }
Я заставил его работать, изменив вашу модель с верхней на нижнюю.
public class MyModel { public List<myData> myList {get;set;} public List<myType> Types{get;set;} public string SelectedType {get;set;} }