在第一个转发器项上触发单击事件

本文关键字:单击 事件 第一个 转发器 | 更新日期: 2023-09-27 17:57:05

我正在制作一个画廊网站。它绘制了数据库中可用的摄影会话。

但是,当用户首次打开页面时,不会选择任何摄影会话。所以页面将是空的。我想自动为用户选择第一个会话。我通过选择数据库中的第一条记录来做到这一点。但我真的希望如果我能在Page_load内编写一个代码,自动点击中继器中的第一项。

当然,中继器项是动态生成的。所以我不知道我是否可以使用 JavaScript 来实现这一点。

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    DataSet dst = new DataSet();
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString))
    {
        SqlDataAdapter adbtr = new SqlDataAdapter();                
        adbtr.SelectCommand = new SqlCommand("SELECT * FROM dbo.Select_gallery_names_FN()", con);
        try
        {
            int result = adbtr.Fill(dst);
            if (result == 0)
            {
                return;
            }
            cat_repeater.DataSource = dst;
            cat_repeater.DataBind();
        }
        catch(Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
    using (SqlConnection img_con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString))
    {
        SqlDataAdapter img_adbtr = new SqlDataAdapter();
        img_adbtr.SelectCommand = new SqlCommand("select * from dbo.Select_gallery_cat_FN(@img_cat)", img_con);
        img_adbtr.SelectCommand.Parameters.Add("@img_cat",SqlDbType.NVarChar,8000).Value = dst.Tables[0].Rows[0][0].ToString();
        DataSet img_dst = new DataSet();                
        try
        {
            img_adbtr.Fill(img_dst);
            slider_repeater.DataSource = img_dst;
            slider_repeater.DataBind();
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }                
    }            
}
protected void cat_repeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString))
    {
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandText = "select * from dbo.Select_gallery_cat_FN(@img_cat)";
        cmd.Parameters.Add("@img_cat", SqlDbType.NVarChar,8000).Value = ((LinkButton)e.CommandSource).Text;
        con.Open();
        slider_repeater.DataSource = cmd.ExecuteReader();
        slider_repeater.DataBind();
    }
}

在第一个转发器项上触发单击事件

你可以

做这样的事情。

<script>
    $(document).ready(function() {
       $('#cat_repeaterId').find('tr:first').click();
    });
</script>

可能不得不弄乱javascript,这取决于你是否要单击第一行内的按钮。