在页面上,我在查询字符串中有一个ID。从这个ID我需要查询我的查找表,并获得与此表中的id匹配的任何内容的列表。
该表如下所示:
id workFlowID nextStepID
2 27 28
3 28 29
4 27 29
如果查询字符串的Id为27,那么它只返回两个结果。
如何为这两个结果创建动态单选按钮?
以下是我将使用的两个表格。
select * from jm_AccountworkFlowDetail wfd
left join jm_accountworkflowsteps wfs on wfs.workFlowID = wfd.workID
以下是上述查询将返回的内容:
workID name status nextStep id workFlowID nextStepID
27 BaseLevelWFI NULL NULL 2 27 28
27 BaseLevelWFI NULL NULL 4 27 29
28 NextStepBaseLevel NULL NULL 3 28 29
29 AfterNextStepBase NULL NULL NULL NULL NULL
wfd包含前4个列,包含要使用的名称。 wfs是查找表,我将如何判断第一个表中的项目是否应该有单选按钮。
工作项可能没有任何下一步,也不会返回任何结果,因此它应该有任何单选按钮。有些应该返回一个,有些将返回多个。
我需要的是一个动态的单选按钮列表,其中的文本将被设置为名称,并且值将被设置为workID。
这可以在页面后面的代码之外完成吗?
答案 0 :(得分:2)
RadioButtonList
有一个DataSource
属性,您可以绑定它。
您的aspx
方将拥有
<asp:RadioButtonList runat="server" ID="radioButtonList" />
和aspx.cs
方
this.radioButtonList.DataSource = myDataSource;
this.radioButtonList.DataBind();
除此之外,我并不完全清楚你想要什么。我的另一个建议是使用像LINQ-to-SQL这样的东西,这样你就可以使用C#的所有LINQy优点
答案 1 :(得分:1)
如果您想在没有代码的情况下执行此操作,请查看SqlDataSource。这是一个包含如何从查询字符串中读取的链接:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.querystringparameter.querystringfield.aspx
然后将结果绑定到RadioButtonList。
答案 2 :(得分:0)
您可以使用
过滤返回的数据集"WorkFlowID = " + Request.QueryString["ID"] + " and NextStepID is not null"
(虽然不完全那样,因为它易受SQL注入攻击。)
然后将过滤的数据集绑定到ASP.NET Repeater Control
<asp:Repeater id="cdcatalog" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "name") %>
<input type='radio' name='nextStepId'
value='<%# DataBinder.Eval(Container.DataItem, "nextStepID") %>'/>
<br/>
</ItemTemplate>
</asp:Repeater>