Web GUI设计问题

3
我正在编写一个页面,其中包含多个文本字段和一个下拉菜单。下拉菜单中的各字段会影响文本字段的值。 例如:下拉选项是"a"和"b", 文本字段是"name"和"last name"。选择"a"时,“name”填写为“Joe”。选择"b"时,“name”填写为“Bob”。
我已经编写了一个包含下拉菜单显示名称以及“name”和“last name”值的类。
问题是:从设计角度来看,正确的解决方案是让类更改文本字段,还是在外部更改文本字段并仅访问类的数据?
谢谢。
附言 - 我正在使用ASP.Net和Javascript,但这更多是一个设计问题,而不是与语言相关的问题。
3个回答

2
为什么需要使用SELECT更改的结果填充输入字段?难道你不能直接从SELECT中获取值吗?如果用户更改输入字段中的结果,该怎么办?我的原则是,如果允许用户输入任何内容,请使用输入文本字段。如果用户受限于一组选择,则使用SELECT(或可能是单选按钮组)。
如果选择列表很长(比您的示例长几个数量级),则可以包括筛选器输入,用户可以键入一些字母并将选项削减到可管理的水平,但这是我能想到的唯一情况,您希望采用其他方式解决问题。
当然,您可能还有其他信息在脑海中,但未在此处传达。如果有,请详细说明。

1

由于该类包含所有三个控件,因此更改文本字段是正确的,因为这是类的内部行为。现在,如果这些字段都是单独的类,那么在外部操作它们将更有意义。


0

如果这些选择字段和文本字段组合起来作为一个小部件,那么将它们打包在一个类中就是有意义的,就像你已经做的那样。然后,就像Justin所说的那样,对这些控件的操作应该由你的类来管理,包括保持所有字段的同步。

如果有足够多的这样的小部件值得关注,我会考虑将其数据部分与视图分离。也许创建一个表示数据的额外类,并将该数据类的对象传递给小部件。但实用主义始终是第一位的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接