0

在一个页面上,我在查询字符串中有一个 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 的值。

这可以在页面后面的代码之外完成吗?

4

3 回答 3

2

RadioButtonList有一个DataSource可以绑定的属性。

aspx身边会有

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

aspx.cs

this.radioButtonList.DataSource = myDataSource;
this.radioButtonList.DataBind();

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

于 2013-08-05T21:42:49.093 回答
1

If you want to do it without a code behind take a look at SqlDataSource. Here's a link that includes how to read from query string: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.querystringparameter.querystringfield.aspx

Then bind the result to your RadioButtonList.

于 2013-08-05T21:56:54.667 回答
0

您可以过滤使用返回的数据集

"WorkFlowID = " + Request.QueryString["ID"] + " and NextStepID is not null" 

(虽然不完全一样,因为这很容易受到 SQL 注入的影响。)

然后将过滤后的数据集绑定到 ASP.NET 中继器控件

<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>
于 2013-08-05T21:39:03.200 回答