一组动态单选按钮

本文关键字:动态 单选按钮 一组 | 更新日期: 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>