Why are you using Text.ToString? Text already returns a string. This is a waste of CPU cycles. If you're getting back a value (i.e., not null) from FindControl, then just set cast to a TextBox as you're doing and set Text to some string, like tb_keywords.Text = "Some string";.
Microsoft MVP, Visual C# My Articles