在第一个转发器项上触发单击事件
本文关键字:单击 事件 第一个 转发器 | 更新日期: 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,这取决于你是否要单击第一行内的按钮。