我一直致力于两个项目之间的集成,一个是用 Java 编写的,另一个是用 Asp.NET MVC 编写的。
我意识到,当 HTML form
元素中有两个像这样的输入元素时:
<input type="hidden" value="1" name="helloWorld"/>
<input type="hidden" value name="helloWorld"/>
请注意,没有为第二个定义值,Asp.NET Request.Form["helloWorld"]
返回带有逗号的 1,
,而 JSP 则不会t 包含该内容并仅返回 1
,我认为这要么是 Asp.NET 中遗漏的问题,要么是有意的功能。
请问有办法解决这个问题吗?也许,就像 web.config 或其他地方的配置,或者可能是一个小属性,例如 ExcludeEmptyInputs
之类的?我正在考虑枚举 Request.Form
中的每个元素,并从像上面那样没有意义的值中删除额外的 ,
,但我认为也许有一个更简单的方法更直观的方法。
注意:有些人可能会建议删除第二个输入,但这并不是一件容易的事情。所以我想得到关于我的第一个问题的答案。
最佳答案
NameValueCollection
将各种值合并在一起,以便在您使用 .Get()
或索引器 ([]
) 时使用,但在涵盖它单独代表值。您可以使用 .GetValues()
获取包含所有值的数组。尝试:
string[] values = Request.Form.GetValues("helloWorld");
从那里,您应该能够根据您的目的以自己的方式删除空值。
关于c# - 在 Asp.NET MVC 中排除空表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27390051/