ASP. NET Core - передать параметр enum из razor View в действие формы - PullRequest
0 голосов
/ 05 мая 2020

Наша команда унаследовала систему, которую мы пытаемся улучшить по мере go.

Одна вещь, которую мы заметили в наших бритвенных представлениях, - это множество случаев, когда записываются различные действия контроллера, которые похоже, они могут быть параметризованы.

например, у нас есть что-то вроде этого ...

ProcessSubmissionView.cs html

<button class="btn" type="submit" id="process-english-submission" formaction="ProcessWelshSubmission" formmethod="post">Process Welsh Submission</button>

<button class="btn" type="submit" id="process-welsh-submission" formaction="ProcessEnglishSubmission" formmethod="post">Process English Submission</button>

... который мы предпочли бы написать так, т.е. вызвать одно действие (ProcessSubmission), но с параметром - в данном случае перечисление 'Nationality':

<button class="btn" type="submit" id="process-english-submission" formaction="ProcessSubmission" TODO PARAM= Nationality.English formmethod="post">Process English Submission</button>

<button class="btn" type="submit" id="process-welsh-submission" formaction="ProcessSubmission" TODO PARAM= Nationality.Welsh formmethod="post">Process Welsh Submission</button>

Учитывая, что у нас есть перечисление Nationality, что мы должны указать в части выше, где написано: TODO PARAM = Nationality.English / Wel sh?

1 Ответ

1 голос
/ 05 мая 2020

Вы можете использовать атрибуты name и value на <button type=“submit”>.

<button type=“submit” name=“@Html.NameFor( m => m.Nationality )” value=“@( nameof(MyEnum.English) )”>english</button>

...