我想弄清楚如何让我的方法从下拉列表中随机选择一个帐户类型。基本上在我的Web应用程序中,用户将从下拉列表中选择:活动,非活动,潜在客户或暂停。我想要做的是测试这个功能,让我的方法在运行测试时随机选择一个值。
如果这有意义的话,我很难将方法引用到代码中的字符串值。任何帮助都会很棒,如果您需要其他信息,请告诉我们!
这是我到目前为止所做的:
public void RandomStatusTypes()
{
List<string> statusTypes = new List<string> { "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
Random randStatus = new Random();
int index = randStatus.Next(0, 6);
string value = statusTypes[index];
}
代码将有一行StatusTyp = _Status,
,希望我能为该值分配随机状态,因此每次运行程序时,它都会随机选择一个值。
谢谢!
答案 0 :(得分:1)
也许:
private static List<string> StatusTypes = new List<string>(){ "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
private static Random randStatus = new Random();
public string RandomStatusTypes()
{
int index = randStatus.Next(0, StatusTypes.Count);
return StatusTypes[index];
}
不要在方法本身中创建随机实例。否则,当方法调用非常快时(例如,在循环中),您将创建相同的状态。您应该使用字段(如上所示)或将random作为参数传递给方法。
我还将列表移到了方法之外,因为无论如何它总是在不改变的情况下创建它是无效的。最后我使用StatusTypes.Count
来确保您始终使用有效范围,即使您将来更改列表(例如添加新状态)。
答案 1 :(得分:0)
如果您只想从DropdownList中选择一个值,则应该随机更改SelectedIndex
属性:
Random randStatus = new Random();
public void RandomStatusTypes()
{
ddlStatus.SelectedIndex = randStatus.Next(ddlStatus.Items.Count);
}
这将随机更改为下拉列表中的任何值。请注意,它使用ddlStatus.Items.Count
,因此如果您添加或删除项目,则无需修改此代码。
答案 2 :(得分:0)
如果您需要DropdownList的随机值,则应将SelectedIndex
属性设置为随机数
public void RandomStatusTypes()
{
List<string> statusTypes = new List<string> { "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
Random randStatus = new Random();
dropList.Items.AddRange(statusTypes);
dropList.SelectedIndex = randStatus.Next(0, 3);
}
答案 3 :(得分:0)
尝试通过function
returns a random item
myList
public string RandomListItem(List<string> myList)
{
int randNo = new Random().Next(0, myList.Count());
return myList[randNo];
}
答案 4 :(得分:0)
首先,您需要从该方法返回索引(void =它不返回任何内容),以用作selected value
的{{1}}。
DropDownList
之后你可以在这个地方调用那个方法
public int RandomStatusTypes()
{
List<string> statusTypes = new List<string> { "ACTIVE", "INACTIVE", "PROSPECT", "SUSPENDED" };
Random randStatus = new Random();
return randStatus.Next(0, statusTypes.Count);
}
并将 var statusForDropDown= RandomStatusTypes();
分配给您的statusForDropDown
DropDownList