ASP.NET Core-将Enum参数从razor View传递给formaction [英] ASP.NET Core - pass enum parameter from razor View to formaction

查看:55
本文介绍了ASP.NET Core-将Enum参数从razor View传递给formaction的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的团队继承了我们正在努力改进的系统.

Our team has inherited a system that we're trying to improve as we go along.

在剃刀视图中我们注意到的一件事是,许多情况下编写了不同的控制器动作,看起来它们可以被参数化.

One thing we've noticed in our razor Views is many cases where different Controller Actions are written, that look like they could be parameterised.

例如,我们有点像这样...

for example, we have something a bit like this...

ProcessSubmissionView.cshtml

<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'枚举:

...that we'd prefer to write like this, i.e. call a single action (ProcessSubmission), but with a parameter - in this case, a 'Nationality' enum:

<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/Welsh 的那部分输入什么?

Given we have a Nationality enum, what should we put in the part above where it says TODO PARAM= Nationality.English/Welsh?

推荐答案

您可以在< button type ="submit"上使用 name value 属性"> .

You can use the name and value attrbutes on <button type="submit">.

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

这篇关于ASP.NET Core-将Enum参数从razor View传递给formaction的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆