一组动态单选按钮
本文关键字:动态 单选按钮 一组 | 更新日期: 2023-09-27 18:26:28
在一个页面上,我在查询字符串中有一个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。
这可以在代码隐藏页之外完成吗?
RadioButtonList
有一个可以绑定到的DataSource
属性。
然后你的aspx
侧会有
<asp:RadioButtonList runat="server" ID="radioButtonList" />
和CCD_ 4侧
this.radioButtonList.DataSource = myDataSource;
this.radioButtonList.DataBind();
除此之外,我还不完全清楚你想要什么。我的另一个建议是使用类似LINQ to SQL的东西,这样你就可以使用C#的所有LINQy优点
如果您想在没有代码隐藏的情况下完成此操作,请查看SqlDataSource。这里有一个链接,其中包括如何从查询字符串中读取:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.querystringparameter.querystringfield.aspx
然后将结果绑定到RadioButtonList。
您可以使用过滤返回的数据集
"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>