2015-06-02 6 views
1

На моей странице ASP.NET у меня есть окно поиска, которое в настоящее время работает как ожидалось. То, что я хотел бы сделать, - оставить искомое значение в этом текстовом поле после поиска (поиск открывает новую страницу, хотя я сохраняю значение поиска из querystring). Я могу подтвердить, что переменная сохраняется правильно, используя значение <%= search%> в моем aspx, однако, когда я пытаюсь показать, что в моем текстовом поле ничего не отображается. Я искал десятки сообщений на форуме, и я могу сказать, что мне нужно привязать это текстовое поле. Я не уверен, где моя ошибка есть, но это ближайший я придумал:Отображать переменную в текстовом поле

<asp:TextBox ID="SearchTextBox" runat="server" Text='<%# search %>'></asp:TextBox> 
Search: <%=search %> 

С кодом за

public string search; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    search = Request.QueryString["search"]; 
    SearchTextBox.Text = search; 
    Page.DataBind(); 
} 

ответ

1

Вы должны проверить, если это первый раз, когда вы см. страницу с этим

if (Page.IsPostBack == false) 
     { 

} 

И сначала проверьте, существует ли строка запроса.

+0

Doh! Что-то очень простое. Думайте, что это означает, что мне нужно называть это уходом за день. ;) – aantiix

+0

Hi doby84 попробуйте пойти с MVC – Juan

0

Попробуйте это:

if (Request.QueryString["search"] != null && !IsPostBack) 
{ 
    string search = Request.QueryString["search"]; 
    SearchTextBox.Text = search; 
} 
Смежные вопросы