2010-08-20 47 views
0

我有一個可以留空或包含日期的文本框。如果文本框有一個日期,我希望第二個文本框的值設置爲會話變量的值。我需要這種情況發生在更新sql回發之前。想要根據第二個文本框的值設置文本框的值

這是我的代碼。但是文本框沒有任何迴應。它是否有價值。

If IsPostBack Then 
     Dim Dev_Doc_Date As TextBox 
     Dev_Doc_Date = FindControl("Dev_Document_Date") 

     If Not Dev_Doc_Date Is Nothing Then 
      Dim Dev_Doc_Date_Value As String 
      If Not String.IsNullOrEmpty(Dev_Doc_Date.Text) Then 
       Dev_Doc_Date_Value = Dev_Doc_Date.Text 
      Else 
       Dev_Doc_Date_Value = String.Empty 

      End If 
     End If 
End If 
+1

您確定您的控件名爲「Dev_Document_Date」,並且它不在母版頁中嗎?如果它在母版頁中,則您的控件ID可能帶有'ctrl00 $ ...'之類的前綴。 – 2010-08-20 11:53:02

+0

是的,我確定它被命名爲「Dev_Doc_Date」,它不在母版頁上。我知道我正確地引用它,因爲當我調用FindControl時會出現錯誤。謝謝。 – Anthony 2010-08-20 13:32:40

+0

其實Hoester,有一個錯字。我將該控件稱爲「Dev_Document_Date」與「Dev_Doc_Date」。這使我重新思考FindControl如何工作。爲什麼它沒有錯誤?但仍然沒有回來。 – Anthony 2010-08-20 14:24:09

回答

0

我採取了不同的路線。我使用javascript傳遞了會話變量。如果文本框(日期)的長度等於8(驗證確保它是),則將第二個文本框的值設置爲會話變量。

function Uploader(field, e) 
{ 
    var inputName = field.name; 
    var len = document.getElementById(inputName).value.length; 

    if (len == 8) 
    { 
     window.document.form1.FormView1$Dev_Doc_Updater.value = "<%= Session("PIN") %>"; 
    } 
}