[英]how to insert selected asp.net c# checkbox value to the sql database
[英]C# ASP.NET Checkbox selected single value
我正在嘗試從復選框中獲取選定的值(僅談論單個結果/檢查),我想在事件onClick上獲得該值,不僅單擊復選框,我還獲得了兩個我正在選擇的下拉列表價值,當我單擊按鈕時,我從下拉列表中獲取值,而我從復選框列表中無法獲取值,我也不知道為什么,因為我在頁面加載源上設置了allready之前,一切似乎都很好,但我可以獲得價值:/
這是代碼:
protected void btnSearch_Click(object sender, EventArgs e)
{
var dropDown_one= Convert.ToInt32(dropOne.SelectedValue); //THIS IS OK
var dropDown_two = Convert.ToInt32(dropTwo.SelectedValue);//THIS IS OK
var checkBox = Convert.ToInt32(checkBox.SelectedValue); //<- here I got error, because I am trying to convert "" value to int
}
並在頁面加載我dId這:
checkBox.DataSource =SomethingFromDatabase();
checkBox.DataTextField = "Name";
checkBox.DataValueField = "ID";
checkBox.DataBind();
因此,我從數據庫中獲得了值,並且可以檢查它們,但是當我單擊按鈕時出現錯誤,因為checkboxlist表示其值為“”,所以就像我什么也沒選擇。
謝謝大家,干杯
Page_Load
事件處理程序在每次回發中執行。 如果您每次都調用數據綁定代碼,則CheckBoxList將被清除並重新填充,並且所做的選擇將丟失。
解決此問題的方法是將數據綁定在if (!IsPostBack)
條件塊內:
void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
checkBox.DataSource = SomethingFromDatabase();
checkBox.DataTextField = "Name";
checkBox.DataValueField = "ID";
checkBox.DataBind();
}
}
檢查Checkbox是否未處於禁用狀態,因為它會在禁用狀態下返回NULL並將其轉換為Int會引發錯誤。 因此,檢查復選框值是否為NULL並將其轉換。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.