此代碼以前正常工作,基本上我有一個母版頁,有一個單一的文本框進行搜索,我把它命名爲searchBox
。我有一種方法可以在表單提交中提取searchBox
的內容並將其設置爲變量userQuery
。下面是該方法:文本框和ASP.NET的奇怪問題
Public Function searchString(ByVal oTextBoxName As String) As String
If Master IsNot Nothing Then
Dim txtBoxSrc As New TextBox
txtBoxSrc = CType(Master.FindControl(oTextBoxName), TextBox)
If txtBoxSrc IsNot Nothing Then
Return txtBoxSrc.Text
End If
End If
Return Nothing
End Function
的結果顯示在search.aspx
。然而,現在,如果searchBox
在search.aspx
以外的頁面上填寫並提交,則文本框的內容不會被傳遞。表格很簡單,只是:
<asp:TextBox ID="searchBox" runat="server"></asp:TextBox>
。
<asp:Button ID="searchbutton" runat="server" Text="search" UseSubmitBehavior="True" PostBackUrl="~/search.aspx" CssClass="searchBtn" />
如果你確實決定做上述事情,爲了所有聖潔的愛,請確保在將它推送到數據庫之前正確清理該sQuery變量(或使用參數化查詢)。 – 2008-10-30 21:09:49
同意。好點子。擁有適當清理參數的數據訪問層至關重要。無論它是否通過QueryString發送,都應該是這種情況。 – 2008-10-30 21:13:23