获取Javascript在数据列表中单击的项的值

获取Javascript在数据列表中单击的项的值,javascript,asp.net,Javascript,Asp.net,在设计时,我有一个带有标签的数据列表。加载时,它将有10个标签(列表中的数据源有10个值类型int)。我想得到我点击的任何标签的值。我想我必须解决两个问题: 1.查找已单击的控件(数据列表中的标签)。 2.得到它的价值 protected void Page_Load(object sender, EventArgs e) { List<int> list = new List<int>(); for (int i = 0; i &

在设计时,我有一个带有标签的数据列表。加载时,它将有10个标签(列表中的数据源有10个值类型int)。我想得到我点击的任何标签的值。我想我必须解决两个问题: 1.查找已单击的控件(数据列表中的标签)。 2.得到它的价值

protected void Page_Load(object sender, EventArgs e)
    {
        List<int> list = new List<int>();
        for (int i = 0; i < 10; i++)
        {
            list.Add(i);

        }
        int a=1;

        DataList1.DataSource = list;
        DataList1.DataBind();
        foreach (DataListItem item in DataList1.Items)
        {
            ((Label)item.FindControl("Label1")).Text = a.ToString();
            if ((Convert.ToInt32(((Label)item.FindControl("Label1")).Text)) % 2 != 0)
            {
                ((Label)item.FindControl("Label1")).BackColor = System.Drawing.Color.Gray;
            }
            ((Label)item.FindControl("Label1")).Attributes.Add("onclick", "run();");
            a++;
        }
在这里,我希望gt1获得单击的标签的值

谢谢你的帮助(关于我的英语)

这样试试吧

在使用关键字this绑定javascript事件时,我们将传递当前的label对象。在服务器端

((Label)item.FindControl("Label1")).Attributes.Add("onclick", "run(this);");
在客户端,我们必须更改定义以接收从服务器端传递的参数。在我们的例子中,参数名是lbl

function run(lbl)
{
alert(lbl.innerText);
}

这是一篇很好的文章,可以让您很好地理解网格视图,您可以使用css类将click事件更优雅地附加到datalist中的任何项目,而不是为每个项目定义onclick事件

e、 g标签具有以下css属性=“itm”


我找到了解决问题的方法:
第一次添加:

字符串gt=((标签)item1.FindControl(“lblstt”).Text

之后:

((标签)item2.FindControl(“lblCauHoi”)).Attributes.Add(“onclick”, “运行(“+gt+”);”


希望有用。

我试过了,但只看到了。valueOf()看不到。valueOf()而且它不工作。Adil,它看起来是一个空白的弹出窗口(里面没有任何内容),在((Label)item.FindControl(“Label1”)).Attributes.Add(“onclick”,“run()”)之后我应该做什么;添加此((标签)项.FindControl(“Label1”)).Text=“Hello Label”;每个标签的文本都是“Hello标签”,如果我使用run(这个),我会看到相同的问题(空白弹出窗口)。如果什么都没有发生,请使用run()。您的问题已解决。。。现在您必须分配唯一值才能获得唯一值。这是一篇很好的文章,可以让您很好地理解网格视图
function run(lbl)
{
alert(lbl.innerText);
}
$(document).on('click', '.itm', function (e) {
   run(this);
});