Этот код работал должным образом, прежде всего, в основном у меня есть главная страница, в которой есть одно текстовое поле для поиска, я назвал его searchBox
. У меня есть способ вытащить содержимое searchBox
на форму submit и установить ее в переменную 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