Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动态单选按钮集_C#_Asp.net_Webforms - Fatal编程技术网

C# 动态单选按钮集

C# 动态单选按钮集,c#,asp.net,webforms,C#,Asp.net,Webforms,在页面上,查询字符串中有一个ID。从这个ID中,我需要查询我的查找表,并获得与此表中的ID匹配的任何内容的列表 该表如下所示: id workFlowID nextStepID 2 27 28 3 28 29 4 27 29 如果查询字符串的Id为27,那么它将只返回两个结果 如何为这两个结果创建动态单选按钮 下面是我将使用的两个表 select * from jm_AccountworkFlowDe

在页面上,查询字符串中有一个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是一个查找表,它告诉我第一个表中的项目是否应该有单选按钮

工作项可能没有任何下一步,也不会返回任何结果,因此它应该有任何单选按钮。有些应该返回一个,有些将返回多个

我需要的是一个单选按钮的动态列表,其中文本设置为名称,值设置为工作ID


这可以在代码隐藏页面之外完成吗?

您可以使用

"WorkFlowID = " + Request.QueryString["ID"] + " and NextStepID is not null" 
(虽然不完全是这样,因为它容易受到SQL注入的攻击。)

然后将筛选后的数据集绑定到ASP.NET Repeater控件

<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>



您可以使用

"WorkFlowID = " + Request.QueryString["ID"] + " and NextStepID is not null" 
(虽然不完全是这样,因为它容易受到SQL注入的攻击。)

然后将筛选后的数据集绑定到ASP.NET Repeater控件

<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>


具有可绑定到的
数据源
属性

然后,您的
aspx
端将

<asp:RadioButtonList runat="server" ID="radioButtonList" />
除此之外,我不完全清楚你想要什么。我的另一个建议是使用像LINQ to SQL这样的东西,这样您就可以使用C#

的所有LINQy优点,它有一个可以绑定到的
数据源属性

然后,您的
aspx
端将

<asp:RadioButtonList runat="server" ID="radioButtonList" />

除此之外,我不完全清楚你想要什么。我的另一个建议是使用类似LINQ to SQL的东西,这样您就可以使用C#

的所有LINQy优点,如果您想在不使用代码隐藏的情况下完成这项工作,请查看SqlDataSource。以下是一个链接,其中包括如何读取查询字符串:


然后将结果绑定到RadioButtonList。

如果您想在没有代码隐藏的情况下执行此操作,请查看SqlDataSource。以下是一个链接,其中包括如何读取查询字符串:


然后将结果绑定到RadioButton列表。

您是否使用ASP.NET WebForms?听起来像。@JeremyPridemore是的asp.net web表单对不起。:)你考虑过使用MVC吗?@davids我们使用MVC只是不用于这个项目。遗憾的是,目前无法将其切换到MVC。您是否正在使用ASP.NET WebForms?听起来像。@JeremyPridemore是的asp.net web表单对不起。:)你考虑过使用MVC吗?@davids我们使用MVC只是不用于这个项目。不幸的是,现在无法切换到MVC。谢谢Jan,在此之前我偶然发现了radiobuttonlist,它似乎对我正在寻找的东西起到了很好的作用。谢谢Jan,在此之前,我无意中发现了radiobuttonlist,它似乎对我正在寻找的东西起到了很好的作用。谢谢dav_,我也无意中发现了它,并使它与我需要的东西一起工作。很高兴听到这个消息。祝你好运。谢谢dav_,我也无意中发现了这一点,并使它与我所需要的一起工作。很高兴听到这个消息。祝你好运。