【发布时间】:2013-05-15 16:15:24
【问题描述】:
这就是我想要做的。我想获取一个短语列表,并在短语的某些部分表明需要用户输入..无论是下拉列表、文本框、日期字段等。在某种程度上有点像 Madlibs.. 但是具有从列表中选择事物的选项。
例如:
我拥有一个
?list_of_cars?,我在?date?上购买了它。它有?freetext?英里数。
这个字符串被分解成文本和 HTML 表单域/ASP.net 控件的混合体。
?list_of_cars? 变成一个下拉列表,有几个选项可供选择。
?date? 变成日期字段(我创建的自定义用户控件)
?freetext? 只是一个用户可以输入信息的文本框。
我需要使用大约 50 个这样的短语。最终结果是,在用户填写所需的输入后,它们最终将成为文本框中的纯文本。
没有列表需要大量选项。汽车就是一个不好的例子。一个列表最多可能包含 5 个选项。
此时,我开始将带有多个分隔符和占位符的整个字符串存储到数据库表中。
例如,一行如下所示:
我拥有一个
{list^Nissan,Ford,Chevy},我在{date}上购买了它。上面有{text}英里。
然后我将其分解并用表单字段替换占位符..然后将它们全部重新组合成纯文本。我觉得可能有更聪明/更好的方法来做到这一点。我不反对备份和更改初始短语的存储方式。
只是好奇是否有人可能有任何提示/建议?
【问题讨论】:
-
我会先考虑如何分割零件。字段名称、某种类型以及一些格式信息怎么样。
{Car Make|list:carmake|n/a}可能是提示Car Make的字段,如果 NULL 输出“n/a”,则选择来自表中的下拉列表。包含所有列表选项的表可以包含列表选择器(“carmake”)、选项等级(1、2、3、...)和选项(“Saab”、“Unimog”、“Volvo”...)。在许多形式中,您需要允许多次出现一个类型,例如计费 ZIP 和运输 ZIP。也考虑处理复数:{Dogs|int:dog:dogs|lonely}.
标签: c# asp.net sql-server vb.net sql-server-2005