[英]accessing userControl value in winform c# using Model
我正在一個小型項目中使用主窗體中顯示的userControl。 我正在使用Model類,該類允許訪問數據庫,如下所示:
public void InsertRoute(Route route)
{
string routecode = route.RouteCode.ToString();
string vehiclecode = route.VehicleCode.ToString();
string firsstudentname = route.FirstStudentName.ToString();
using (SqlCommand cmd = new SqlCommand("InsertRoute2", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@RouteCode", routecode));
cmd.Parameters.Add(new SqlParameter("@VehicleCode", vehiclecode));
cmd.Parameters.Add(new SqlParameter("@FirstStudentName", firsstudentname));
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
然后我有一個名為UCCreateRotue的用戶控件,它具有幾個文本框和Button單擊Event handler:
private void btnCreateRoute_Click_1(object sender, EventArgs e)
{
UCRouteCreate form = new UCRouteCreate();
//DialogResult dialog = form.ShowDialog();
//if (dialog == DialogResult.OK)
//{
Route route = controller.CreateMovieFromText(form);
controller.InsertRoute(route);
//RefreshTable();
//}
}
然后我有一個叫做route的類,如下
class Route
{
private GlobalReach.UserControls.UCRouteCreate usrCon;
public string RouteCode
{
get { return usrCon.txtRouteCode.Text ;}
set { usrCon.txtRouteCode.Text = value ; }
}
}
然后我在控制器中有如下方法來執行通過sproc完成的插入
public Route CreateRouteFromText(UCRouteCreate form)
{
string routecode =form.txtRouteCode.Text.ToString();
string vehiclecode = form.txtVehicleCode.Text.ToString();
string firststudentname = form.txtFStudent.Text.ToString();
Route route = new Route();
return route;
}
我的問題是,當我單擊按鈕單擊時,代碼正在工作,因為我確實將新行插入到表中,但具有空值,即,將值輸入為空(如果有任何意義),而我沒有選擇的字段填寫輸入為NULL值..? 您能否建議我為什么在我的usrControl TextBox中輸入值時無法通過我的代碼捕獲該值。.提前謝謝
button click事件會創建一個空表單,您已經注釋掉了顯示對話框行,因此輸入仍然為空(除非您將它們初始化為任何東西,即使如此)。 在CreateRouteFromText中,將表單值分配給局部變量,然后創建一個空的Route對象,並將其傳遞回insert方法。 因此,沒有空行就不足為奇了。
應該至少將Route對象設置為表單具有的內容:
public Route CreateRouteFromText(UCRouteCreate form)
{
return new Route()
{
RouteCode = form.txtRouteCode.Text,
VehicleCode = form.txtVehicleCode.Text,
FirstStudentName = form.txtFStudent.Text
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.