Asp.net 必须按Enter键两次才能使函数工作#

Asp.net 必须按Enter键两次才能使函数工作#,asp.net,function,enter,Asp.net,Function,Enter,我有下面的.aspx页面。我正在搜索数据库中的单词,一切正常。我还有一个超链接,如果数据库中不存在这个词,它会显示一条消息 但唯一的问题是,当我搜索该单词时,该单词不在数据库中,它从第一次开始就没有显示超链接,我必须单击“输入”两次,它才能工作,单击“清除”两次,它才能消失 我知道问题是我在页面加载后有了按钮,但我找不到解决方法。我尝试的是创建另一个函数private void load_data(),并将page_load中的所有内容复制到其中。在load_页面和按钮2中单击call load

我有下面的.aspx页面。我正在搜索数据库中的单词,一切正常。我还有一个超链接,如果数据库中不存在这个词,它会显示一条消息

但唯一的问题是,当我搜索该单词时,该单词不在数据库中,它从第一次开始就没有显示超链接,我必须单击“输入”两次,它才能工作,单击“清除”两次,它才能消失

我知道问题是我在页面加载后有了按钮,但我找不到解决方法。我尝试的是创建另一个函数private void load_data(),并将page_load中的所有内容复制到其中。在load_页面和按钮2中单击call load_data();它不起作用

代码如下:

namespace TRI_Portal.ScreenPop.Gloss
{
    public partial class Gloss_Test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (GridView2.Rows.Count == 0)
            {

                HyperLink1.Visible = true;
            }

            else
            {
                HyperLink1.Visible = false;
            }

            String s = Request.QueryString["language"];

            Language1.Text = Server.HtmlEncode(s);

        }    

      }
    }
我也试过这个,但是运气不好

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SetLink();
        }
    }
    private void SetLink()
    {
        if (GridView2.Rows.Count == 0)
        {

            HyperLink1.Visible = true;
        }

        else
        {
            HyperLink1.Visible = false;
        }

        String s = Request.QueryString["language"];

        Language1.Text = Server.HtmlEncode(s);
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        SetLink();
    }

有什么建议吗?

处理GridView.DataBound事件

protected void GridView1_DataBound(object sender, EventArgs e)
{
     SetLink();
}
和标记:

<asp:GridView OnDataBound="GridView1_DataBound" ....

我已经试过你的建议了。但一切都没有改变。这是我的密码。我可能做错了什么。受保护的void GridView2_数据绑定(对象发送方,事件参数e){label();}私有void label(){if(GridView2.Rows.Count==0){HyperLink1.Visible=true;}否则{HyperLink1.Visible=false;}字符串s=Request.QueryString[“language”];Language1.Text=Server.HtmlEncode;}对我不起作用。但我在emptydatatemplate中找到了解决方案。