2017年6月22日 星期四

[研究] [ASP.NET] e.NewValues 與 並未將物件參考設定為物件的執行個體。

[研究] [ASP.NET] e.NewValues 與 並未將物件參考設定為物件的執行個體。

2017-06-22

Visual Studio 2017 + C# + ASP.NET + WebForm

e.NewValues["ContextResponse"] 的 ContextResponse 是 Bind 的欄位值,不是 TextBox 或 Label 的 ID 值。

如果 ContextResponse 欄位沒填寫內容,是不能作 ToString() 的,因為 e.NewValues["ContextResponse"] 會是 null,null 不能作 ToString()。

      protected void DetailsView2_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
        {
            string errMessage = "";

            //TextBox TextBox_ContextResponse = (TextBox)DetailsView2.FindControl("TextBox_ContextResponse");
            //string ContextResponse = TextBox_ContextResponse.Text;
            //if (TextBox_ContextResponse.Text == "")
            //    errMessage = errMessage + "「XX欄位」必填。";

            // 如果 ContextResponse 欄位沒填寫內容,是不能作 ToString() 的
            //if (e.NewValues["ContextResponse"].ToString().Trim() == "")    // 並未將物件參考設定為物件的執行個體。
            //if (e.NewValues["ContextResponse"].ToString() == "")           // 並未將物件參考設定為物件的執行個體。
            //string ContextResponse = e.NewValues["ContextResponse"].ToString().Trim();    // 並未將物件參考設定為物件的執行個體。
            //string ContextResponse = e.NewValues["ContextResponse"].ToString();    // 並未將物件參考設定為物件的執行個體。
            //string ContextResponse = ((String)e.NewValues["ContextResponse"]);        // 並未將物件參考設定為物件的執行個體。
            //if (e.NewValues["ContextResponse"].ToString() == "")
            if (e.NewValues["JiguanResponse"] == null)
            {
                errMessage = errMessage + "「XX欄位」必填。";
            }
            else
            {
                if (e.NewValues["JiguanResponse"].ToString().Trim() == "")
                    errMessage = errMessage + "「XX欄位」請勿只填寫空白。";
            }
         }

(完)

沒有留言:

張貼留言