Я сейчас создаю страницу поиска с текстовым полем и кнопкой и, возможно, выпадающим списком для фильтрации результатов позже. У меня есть кнопка PostBackUrl для моей кнопки на моей странице поиска (~/search.aspx). Есть ли простой способ передать значение в текстовое поле на страницу поиска?Как добавить аргументы к кнопке ASP PostBackUrl?
ответ
Если у вас есть PostBackUrl установить на кнопке, затем в поле поиска окна на вашей первой странице, а также любые другие формы поля на этой странице, которые уже размещены в этой категории стр. Трюк получает доступ к ним в коде для вашей страницы search.aspx.
if (Page.PreviousPage != null)
{
TextBox SourceTextBox =
(TextBox)Page.PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null)
{
Label1.Text = SourceTextBox.Text;
}
}
Это один из способов. Есть некоторые ярлыки тоже, например, с помощью директивы PreviousPageType в верхней части страницы search.aspx:
<%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
Более подробную информацию о том, как использовать это, а также в качестве первого метода, можно найти здесь:
Вы можете использовать useSubmitBehavior = "true" и поместить метод = "get" в форму. таким образом он будет использовать поведение браузеров и добавит значения текстового поля в строку запроса.
Вы также можете использовать JavaScript, чтобы выполнить это, перехватив событие Key key keypress в поле текстового поля. Вы можете расширить это, чтобы выполнить проверку текста в текстовом поле. (В этом примере используется jQuery)
$(document).ready(function(){
// Event Handlers to allow searching after pressing Enter key
$("#myTextBoxID").bind("keypress", function(e){
switch (e.keyCode){
case (13):
// Execute code here ...
break;
default:
break;
}
});
});
Решена проблема, предыдущая страница «default.aspx», однако контроль не находится на этой странице. Поскольку я использую мастер-страницы, мне нужно выбрать Мастер, а не . Предыдущий шаг.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If PreviousPage IsNot Nothing Then
Dim txtBoxSrc As New TextBox
txtBoxSrc = CType(Master.FindControl("searchbox"), TextBox)
If txtBoxSrc IsNot Nothing Then
MsgBox(txtBoxSrc.Text)
End If
End If
End Sub
<div class="gsSearch">
<asp:TextBox ID="searchbox" runat="server"></asp:TextBox>
<asp:Button ID="searchbutton" runat="server" Text="search"
UseSubmitBehavior="true" PostBackUrl="~/search.aspx" />
</div>
Я понятия не имею, почему вы получите пустую ссылку в этом коде, голый с моим VB незнания, но я собираюсь попытаться сделать небольшую модификацию вы можете быть в состоянии попробовать.
Я знаю, что FindControl возвращает тип Control .. возможно, вы можете подождать, чтобы вставить его в определенный тип.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If PreviousPage IsNot Nothing Then
Dim txtBoxSrc As New Control
txtBoxSrc = PreviousPage.FindControl("searchbox")
If txtBoxSrc IsNot Nothing Then
MsgBox((CType(txtBoxSrc, TextBox)).Text)
End If
End If
End Sub
<div class="gsSearch">
<asp:TextBox ID="searchbox" runat="server"></asp:TextBox>
<asp:Button ID="searchbutton" runat="server" Text="search"
UseSubmitBehavior="true" PostBackUrl="~/search.aspx" />
</div>
Как насчет, это (VB, извините):
Получить значение из текстового поля с помощью коде, а просто установить PostBackUrl на контроле, как это:
dim textval = SourceTextBox.text
dim myparam = "George"
searchbutton.PostBackUrl = "~/search.aspx?myparam=" & myparam
You может просто поместить это в функцию, которая обрабатывает нажатие кнопки, нет?
- 1. Добавить postbackurl как атрибут к кнопке
- 2. добавить querystring в свойство postbackurl asp: button
- 3. Добавляем PostBackURL к кнопке и разрешаем код за кнопкой?
- 4. Как добавить текст к кнопке?
- 5. Как добавить функцию к кнопке?
- 6. Как добавить DependencyProperty к кнопке?
- 7. Как добавить ContextMenu к кнопке
- 8. Как добавить картинку к кнопке?
- 9. Как добавить границу к кнопке?
- 10. Добавить изображение к кнопке
- 11. добавить комментарии к кнопке
- 12. Добавить DateTimePicker к кнопке
- 13. ; Как добавить аргументы к событиям?
- 14. C# ASP.NET PostBackUrl к якорю
- 15. Добавить кратковременный ключ к кнопке
- 16. Невозможно добавить изображение к кнопке
- 17. jQuery добавить класс к кнопке
- 18. Как добавить анимированный gif к кнопке?
- 19. Deface, как добавить класс к кнопке
- 20. Как добавить функциональность перехода к кнопке?
- 21. Как добавить изображение к кнопке удаления UITableViewCell
- 22. Как добавить actionListener к каждой кнопке
- 23. Как добавить слушателя к кнопке переключения?
- 24. Как добавить target_blank к кнопке регистрации
- 25. JQuery: Как добавить изображение к кнопке удаления
- 26. Как добавить текст к плавающей кнопке действия?
- 27. Как добавить прозрачное состояние наведения к кнопке
- 28. Как добавить значок поиска к моей кнопке
- 29. Как добавить действие к кнопке в cocos2d
- 30. Как добавить значок к кнопке UIActionSheet?
Не правда ли, что страница ASP может иметь только одну форму? Я помню что-то читал. Существует форма, созданная визуальной студией, которая инкапсулирует содержимое внутри тега body. – Anders 2008-10-15 13:54:11
Правильно, он может иметь только одну форму, метод = get должен быть в этой форме. все поля ввода из формы будут помещены в строку запроса. это может вообще не работать, просто попробовать. – 2008-10-15 13:56:26