2013-08-05 172 views
0

在頁面上,我在查詢字符串中有一個ID。從這個ID我需要查詢我的查找表,並獲得與該表中的id匹配的任何列表。單選按鈕的動態設置

表看起來如下:

id workFlowID nextStepID 
2  27   28 
3  28   29 
4  27   29 

如果查詢字符串有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個colums,包含了可使用的名稱。 wfs是查找表,我將如何判斷第一個表中的項目是否應該有單選按鈕。

工作項目可能沒有任何下一步並且不會返回任何結果,因此它應該有任何單選按鈕。有些應該返回一個,有些會返回多個。

我需要的是一個單選按鈕的動態列表,其中要設置的文本名稱和要設置爲工作ID的值。

這可以在頁面後面的代碼之外完成嗎?

+0

您使用的是ASP.NET WebForms嗎?聽起來像是這樣。 –

+0

@JeremyPridemore是的asp.net網頁形式抱歉。 :) –

+0

你有沒有想過使用MVC? – davids

回答

0

您可以過濾你已經使用返回的數據集

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

RadioButtonList有您可以綁定到DataSource財產。然後

aspx側將有

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

aspx.cs

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

除此之外我不是你想要的東西完全清楚。我的其他建議是使用類似於LINQ to SQL的東西,這樣你就可以使用C#的所有LINQy善良。

+0

謝謝dav_i我偶然發現了這一點,並得到它與我需要的工作。 –

+0

很高興聽到。祝你好運。 –