台灣最大程式設計社群網站
線上人數
1234
 
會員總數:245894
討論主題:189492
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 動態產生TEXTBOX後,如何執行處程序
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
動態產生TEXTBOX後,如何執行處程序
價值 : 50 QP  點閱數:248 回應數:6
樓主

小裕
初學者
137 201
3178 380
發送站內信

動態產生TEXTBOX後,我想要輸入品號後,自動帶出品名規格
單位出現如下錯誤

是否這樣一開始我找不到TEXTBOX ID
所以會這樣?

該如何調整呢?

=======
private void TextBox1_TextChanged(object sender, System.EventArgs e)
{

string ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["readerConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

for (int i = 0; i < this.gv.Rows.Count; i++)
{
//string aa = gv.Rows[i].Cells[2].Text.ToString();
Label TextBox1 = (Label)gv.Rows[i].Cells[1].Controls[1];
Label TextBox2 = (Label)gv.Rows[i].Cells[2].Controls[1];
Label TextBox3 = (Label)gv.Rows[i].Cells[3].Controls[1];
//Label TextBox4 = (Label)gv.Rows[i].Cells[4].Controls[1];

SqlCommand command1 = new SqlCommand("select MB001,MB002,MB003 FROM INVMB WHERE MB001='" + TextBox1.Text + "'", conn);

SqlDataReader reader1;
reader1 = command1.ExecuteReader();
reader1.Read();


if (TextBox1.Text.Length > 0)
{

TextBox2.Text = reader1["MB002"].ToString();
TextBox3.Text = reader1["MB003"].ToString();

else
{
ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('找不到該品號!');</script>");

}
}
}
出現錯誤
ecr_ins_aspx' does not contain a definition for 'TextBox1_TextChanged' and no extension method 'TextBox1_TextChanged' accepting a first argument of type 'ecr_ins_aspx' could be found (are you missing a using directive or an assembly reference?)


搜尋相關Tags的文章: [ TEXTBOX ] ,
本篇文章發表於2020-06-12 11:11
1樓
回應

阿恢
捐贈 VP 給 阿恢 檢舉此回應
先把
private void TextBox1_TextChanged(object sender, System.EventArgs e)
改成
protected void TextBox1_TextChanged(object sender, EventArgs e)
看看
本篇文章回覆於2020-06-12 15:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小裕
檢舉此回應
這樣可以跑了!
測試後有一個問題
如果我用打的輸入,按下TAB鍵他是會觸發的,離開該textbox也會觸發
但如果用複製貼上的似乎就不行,也沒有可以克服這部分的方式?




//////

protected void t_TextChanged(object sender, EventArgs e)
{

string ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["readerConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();

foreach (GridViewRow rw in this.gv.Rows)
{

TextBox tTextBox1 = (TextBox)rw.FindControl("TextBox1");
TextBox tTextBox2 = (TextBox)rw.FindControl("TextBox2");
TextBox tTextBox3 = (TextBox)rw.FindControl("TextBox3");
TextBox tTextBox4 = (TextBox)rw.FindControl("TextBox4");

SqlCommand command = new SqlCommand("select MB001,MB002,MB003,MB064 from INVMB where MB001='" + tTextBox1.Text + "'", conn);
//conn.Open();
SqlDataReader reader1;
reader1 = command.ExecuteReader();
if (reader1.Read())
{
tTextBox2.Text = reader1["MB002"].ToString();
tTextBox3.Text = reader1["MB003"].ToString();
string r_qty = reader1["MB064"].ToString();
double a = Convert.ToDouble(r_qty.ToString());
tTextBox4.Text = a.ToString();
reader1.Close();

}
else
{
String TransferPage;
TransferPage = "<script>alert('找不到該品號!')</script>";
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "temp", TransferPage, false
}

}


}
本篇文章回覆於2020-06-12 17:36
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

MIS2000 Lab
檢舉此回應
ASP.NET 動態加入 事件處理常式--AddHandler , AddressOf , EventHandler , Handler
https://dotblogs.com.tw/mis2000lab/2011/11/05/eventhandler_addhandler_addressof_method

(VB)下列程式碼範例,示範了如何將 Button1 控制項的 Click 事件,繫結到名為 myEventHandler 的方法。
AddHandler Button1.Click, AddressOf myEventHandler

(C#)下列程式碼範例,示範了如何將 Button1 控制項的 Click 事件,繫結到名為 myEventHandler 的方法。
Button1.Click += new System.EventHandler(this.myEventHandler);
本篇文章回覆於2020-06-13 09:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

小裕
檢舉此回應
我試著加入到下面這段
還是沒有反應

======

本篇文章回覆於2020-06-13 16:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

小裕
檢舉此回應
我用簡單的TEXTBOX去測是會正常跳
也不用特定去設定事件處理常式

換成用updatapanel包住gridview 產生了好多問題
想把它搞懂

第一:我的FOCUS定位問題
如果我沒用updatapanel定位是正常的,
textbox填完後帶出資料會自動新增一列texttbox
游標會停留在下列的第一格,這樣方便使用者輸入資料

第二就是現在這個,觸發的程序都要用打的才會觸發,用直接複製就跳不出來


第三是抓資料問題‘,現在寫法是只要觸發都會自動新增一列
如何修正抓到資料才新增一列,否跳出視窗警告,但還是停留在該列












本篇文章回覆於2020-06-13 16:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

小裕
檢舉此回應
補充測試第一個範例
假設文字匡之前有輸入過資料,直接選他就不會觸發了
是否能用onblur去解決問題?
本篇文章回覆於2020-06-13 16:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.