Asp.net 为未知数量的行实现读写的最佳方法
我问了一个类似的问题,但结果相当混乱,我很难填充,所以我尝试从另一个角度: 我有一个表,它存储流程中的步骤。一些公司只有6个步骤,而其他公司只有15个步骤,所以我创建了一个表,其中有15个不同的步骤槽。我想做的是设置一个控件,它在自己的行中显示每个步骤,旁边有一个标签,上面写着“step'#'”,而不是在相邻的列中。我还希望它不显示任何空白行。如果他们正在输入步骤说明,我希望他们必须按下一个按钮,添加一行,这样他们就不会只需要填写15个空文本框Asp.net 为未知数量的行实现读写的最佳方法,asp.net,linq-to-sql,Asp.net,Linq To Sql,我问了一个类似的问题,但结果相当混乱,我很难填充,所以我尝试从另一个角度: 我有一个表,它存储流程中的步骤。一些公司只有6个步骤,而其他公司只有15个步骤,所以我创建了一个表,其中有15个不同的步骤槽。我想做的是设置一个控件,它在自己的行中显示每个步骤,旁边有一个标签,上面写着“step'#'”,而不是在相邻的列中。我还希望它不显示任何空白行。如果他们正在输入步骤说明,我希望他们必须按下一个按钮,添加一行,这样他们就不会只需要填写15个空文本框 在中执行此操作的最佳控件是什么?如何开始设置它?
在中执行此操作的最佳控件是什么?如何开始设置它?您正在将数据放入表中的字段名称中,这会使您的任务更加复杂。而不是将步骤存储在列中,如下所示:
CompanyId Step1 Step2 Step3 Step4 Step5 Step 6 Step7 ...
1 alpha beta gamma
2 one two three four five
应将步骤存储为行,以便在字段中以数据形式获取步骤编号:
CompanyId StepNumber Step
1 1 alpha
1 2 beta
1 3 gamma
2 1 one
2 2 two
2 3 three
2 4 four
2 5 five
这样,您就不会得到任何未使用的字段,数据模型也不会对步骤数量造成任何限制。此外,您可以轻松地将步骤作为集合获取,而不必单独获取每个步骤并添加到集合中
比如:
var steps =
from s in CompanySteps
where s.CompanyId = 2
orderby s.StepNumber
select new { s.StepNumber, s.Step };
然后,您可以使用许多不同的选项来显示这些步骤,比如在中继器中将集合用作数据源,或者循环遍历这些项,只为它们创建HTML代码并放入文本控件。您的数据模型有缺陷。首先,您不应该将步骤存储为列。纠正这个问题,这个问题就会自然消失。我是否应该制作一个表,存储客户名称的1个步骤和一个外键,然后只填充来自该客户的所有步骤,等等?这是更好的方式吗?是的,这样可以猜测最大步骤数,并使显示它们变得轻而易举。我知道了,你们中的一位会将评论移动到响应中,以便我可以标记为答案吗?