2012-07-25 112 views
0

我有选择题对象的列表。我需要用对象属性创建一个RadioButtonList:Choice_A,Choice_B,... Choice_D。从创建对象属性动态单选按钮列表

var qs = (from questions in dc.Survey_Questions 
        where questions.Survey_ID == surveyid      
        select new SQuestions 
        { 
         QuestionID = questions.Question_ID, 
         SurveyID = questions.Survey_ID,       
         Description = questions.Description, 
         Choice_A = questions.Choice_A, 
         Choice_B = questions.Choice_B, 
         Choice_C = questions.Choice_C, 
         Choice_D = questions.Choice_D, 
        }).ToList(); 
DataList dtQuestion.DataSource = qs; 

HTML结构:

<asp:DataList ID="dtQuestion" runat="server" RepeatDirection="Vertical" >` 
    <ItemTemplate> 
     <%# Eval("Description") %> `   
    <ItemTemplate> 
    <RadioButtonList></RadiobuttonList> 
    </ItemTemplate> 

    </ItemTemplate> 
</asp:DataList> 

回答

0

好,尽量造型SQuestion符合以下条件:

public class SQuestion 
{ 
    int QuestionId = 0; //int? change to whatever 
    int SurveyId = 0; //same as above 
    string Description = string.Empty; 
    List<string> Choices = new List<string>(); //notice this is a list 
} 

所以现在你可以的选择绑定到一个下拉列表中。 我会建议使用onDataBinding方法或onDataBound(其中其一,从我的头顶,我不知道),然后可以绑定内选择下拉列表与当前question.Choices。这应该工作。

希望这有助于你指出正确的方向。

+0

感谢您的答复。我认为我现在有一个很好的领先,但我得到的错误:未处理的绑定类型:ListBinding
select new SQuestions { QuestionID = questions.Question_ID, Description = questions.Description,Choices = {questions.Choice_A,questions。 Choice_B,questions.Choice_C} – user1553087 2012-07-26 16:42:10