C# Web GUI设计问题

C# Web GUI设计问题,c#,javascript,user-interface,mootools,C#,Javascript,User Interface,Mootools,我正在写一个包含几个文本字段和一个下拉列表的页面。下拉列表中的字段会影响文本字段的值。 例如:下拉选项为“a”和“b”。文本字段为“姓名”和“姓氏”。当选择“a”时,“name”将填充“Joe”。选择“b”时,“名称”用“Bob”填充 我已经编写了一个类,其中包含下拉显示名称以及“name”和“last name”的值 问题是:在设计方面,正确的解决方案是什么?让类更改文本字段,还是从外部更改文本字段,只访问类的数据 谢谢 我正在使用ASP.Net和Javascript,但这更多的是一个设计问题

我正在写一个包含几个文本字段和一个下拉列表的页面。下拉列表中的字段会影响文本字段的值。
例如:下拉选项为“a”和“b”。文本字段为“姓名”和“姓氏”。当选择“a”时,“name”将填充“Joe”。选择“b”时,“名称”用“Bob”填充

我已经编写了一个类,其中包含下拉显示名称以及“name”和“last name”的值

问题是:在设计方面,正确的解决方案是什么?让类更改文本字段,还是从外部更改文本字段,只访问类的数据

谢谢


我正在使用ASP.Net和Javascript,但这更多的是一个设计问题,不依赖于语言。

为什么需要用选择更改的结果填充输入字段?你不能直接从SELECT中获取你的值吗?如果用户更改输入字段中的结果,您会怎么做?我遵循的规则是,如果允许用户输入任何输入,请使用输入文本字段。如果用户仅限于一组选项,请使用SELECT(或单选按钮组)

如果它是一个很长的选择列表(比您的示例长几个数量级),您可以包含一个过滤器输入,用户可以在其中键入几个字母,并将选项削减到可管理的级别,但这是唯一一种情况,我可以想到您希望从另一个角度使用它


当然,可能还有一些额外的信息在你脑海中,但在这里没有传授。如果是,请详细说明。

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

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

如果有足够的这样的小部件需要关心,那么我会考虑把它的数据部分从视图中分离出来。可以创建一个表示数据的附加类,并将该数据类的对象传递给小部件。但实用主义总是第一位的