我想选择具有不同概率列的随机行:
ID Type
Bike 1
Moto 1
Asus 2
Car 1
Apple 2
John 3
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我将有随机概率:
通过 newid() 从项目订单中选择前 1 个 *
我希望约翰(类型 3)有 70% 的概率获得,类型 1 的概率为 5%,类型 2 的概率为 25%。
我有两种方法.第一个动态创建一个表,然后将该表添加到PlaceHolder中.
private void generateData(){
Table tbl = new Table();
tbl.ID = "table1";
holder_info.Controls.Add(tbl);
// ...adding tr's and td's....
// ...adding CheckBox in tds....
}
Run Code Online (Sandbox Code Playgroud)
如果我在此方法中执行.FindControl("..."),我可以使用以下命令找到控件:
CheckBox check = (CheckBox)holder_info.FindControl("checkbox1");
Run Code Online (Sandbox Code Playgroud)
没关系,但不是我假装的.
在第二种方法中,我想检查用户是否检查了checkBox并做了一些事情,但我找不到控件(它总是返回null).
protected void saveInfo_Click(object sender, ImageClickEventArgs e)
{
CheckBox check = (CheckBox)holder_info.FindControl("checkbox1");
if(check.checked){ ... }
}
Run Code Online (Sandbox Code Playgroud)
此外,如果我试图找到控件"table1",我得到null.
为什么会这样?