请提出您对编码风格的看法。
在网络表单中,有一个选项,但不需要选择。它的值是1,2和“全部”。值“全部”是加载表单时的默认值,“全部”表示1和2的值。 根据选定的值,将向服务器发送请求以进行处理。服务器将解析此值并返回结果响应。在用户选择“全部”值的情况下我有两种方式:
- 请勿在请求中包含选项值。我的示例网址是“../ Process.aspx”。服务器将检测并知道该用户选择了“全部”值。
- 在具有特定值的请求中包含选项值(例如:-1)。我的示例网址是“../ Process.aspx?option = -1”。服务器将检测并知道 如果value为-1,则表示用户已选择“All”值。
醇>
请建议我最好的解决方案。感谢。
答案 0 :(得分:2)
变体1对我来说似乎更自然。它没有指定过滤器,因此自然应该返回所有元素。
它与RESTful API的工作方式一致:http://server/api/files
将返回所有文件。 http://server/api/files/test.txt
将返回特定文件。
答案 1 :(得分:2)
我会选择第一种选择。
如果选项的值未知或未指定,请使用默认值。如果选项值为-1(或与默认选择关联的任何值),请确保以相同方式处理此选项。在未知值的情况下,我也会记录该值。即如果您使用记录器日志这作为调试信息。当你添加新值并且无法弄清楚系统似乎忽略它们的方式时,这通常会变得非常方便。
将未知值作为默认值处理,可确保带有弃用选项的书签/链接仍可在某种程度上发挥作用,从而提供比错误消息更好的用户体验
答案 2 :(得分:1)
我会接近一个。
首先检查是否设置了option参数。如果没有,请在代码中为其指定默认值。 如果已分配,请检查输入并进行处理。这样您还需要在一个地方管理您的代码。 (默认值)
答案 3 :(得分:0)
“全部”应该给出一个数值(如3)。元素的标记应该如下所示:
<select name="fieldname">
<option value="1">Value1</option>
<option value="2">Value2</option>
<option value="3">All</option>
</select>
服务器应该读取POST响应并使用switch控制语句来决定如何处理这些值。
switch(postvar):
case 1: // processing for 1 value goes here
case 2: // processing for 2 value goes here
case 3: // processing for "All" value goes here
endswitch;