填充下拉列表,其中包含2个数字之间的所有数字

时间:2014-02-10 20:00:57

标签: c# asp.net

<asp:DropDownList ID="ddlAge" runat="server"/>

Label ages = (Label)e.Row.FindControl("Ages");

//The value ages returns is different every time but it will be in this format
// 3 - 11

所以我想从短划线的左边抓住3,然后从短划线的右边抓住11并填充我的下拉列表,其值为3,4,5,6,7,8,9, 10,11如果可能的话,不知道如何去做。

2 个答案:

答案 0 :(得分:3)

你可以这样做:

private IEnumerable<int> GetAgesBetween(string agesText) {
    var parts = agesText.Split('-');
    var start = int.Parse(parts[0].Trim());
    var end = int.Parse(parts[1].Trim());
    return Enumerable.Range(start, 1 + end-start);
}

您可以使用该方法检索数字并使用它们填充下拉列表。

希望有所帮助

答案 1 :(得分:1)

这是在VB中,但你可以用C#转换它。这样您就可以了解如何解决此问题。这是代码:

     Dim ageData() As String = ages.split("-".ToCharArray())

     If ageData.Count = 2 AndAlso IsNumeric(ageData(0).Trim) AndAlso IsNumeric(ageData(1).Trim) Then
        For i As Integer = CInt(ageData(0)) To CInt(ageData(1).Trim) Step +1
           ddlAge.Items.Add(i)
        Next
     End If