在asp.net mvc中处理两个不同表单之间的共享数据时,最佳做法是什么?

在asp.net mvc中处理两个不同表单之间的共享数据时,最佳做法是什么?,asp.net,asp.net-mvc,forms,input,Asp.net,Asp.net Mvc,Forms,Input,假设您有一个mvc razor网页,其中用户可以批准或拒绝某种请求,但他还必须包括一个原因 现在,您可以有两个输入字段:第一个是指定批准请求的原因;第二个是指定拒绝请求的原因。在这种情况下,一切都会很好 作为UI设计师,如果您认为只需一个字段来指定原因就足够了,该怎么办?在这种情况下,您将有两个提交按钮或输入(一个用于批准,一个用于拒绝),为了发布到相应的控制器,您必须为每个提交按钮提供两个表单,但您不能在两个表单之间共享“原因”输入字段 那么,对于这种情况,最佳做法是什么 PS:我知道有解决方

假设您有一个mvc razor网页,其中用户可以批准或拒绝某种请求,但他还必须包括一个原因

现在,您可以有两个输入字段:第一个是指定批准请求的原因;第二个是指定拒绝请求的原因。在这种情况下,一切都会很好

作为UI设计师,如果您认为只需一个字段来指定原因就足够了,该怎么办?在这种情况下,您将有两个提交按钮或输入(一个用于批准,一个用于拒绝),为了发布到相应的控制器,您必须为每个提交按钮提供两个表单,但您不能在两个表单之间共享“原因”输入字段

那么,对于这种情况,最佳做法是什么


PS:我知道有解决方案:使用ajax或其他javascript来执行post,定义属性并使用属性将控制器与各自的按钮配对,使用formaction HTML5属性,也许还有我错过的其他解决方案,但它们要么看起来很花哨,要么有某些缺点

为什么需要两种表格?您可以简单地执行以下操作:

<form action="" method="post">
    <textarea name="reason"></textarea>
    <button type="submit" name="approve" value="true">Approve</button>
    <button type="submit" name="approve" value="false">Reject</button>
</form>

批准
拒绝

然后,按钮的操作方式与收音机类似。无论用户单击哪一个,都将发布该值。然后,您可以简单地在该布尔值上分支,并相应地批准或拒绝。

谢谢!有时候是简单的事情让我着迷。