<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如果可能的话,不知道如何去做。
答案 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