C# 如何检索html li值

C# 如何检索html li值,c#,asp.net,html,html-lists,C#,Asp.net,Html,Html Lists,我在我的aspx页面中有一个列表,其中列表的值来自数据库。数据可以成功添加到列表中 但是当我单击所选列表项时,如何检索该列表项的值?(点击事件) 我不想重定向到另一个页面,因为我使用的是AJAX。所以我希望它在同一页。这就是我为什么评论这篇文章的原因 <ul runat="server" id="ulList" onclick="ul_Click"> </ul> 数据绑定到页面加载事件中的列表 protected void Page_Load(ob

我在我的aspx页面中有一个列表,其中列表的值来自数据库。数据可以成功添加到列表中

但是当我单击所选列表项时,如何检索该列表项的值?(点击事件)


我不想重定向到另一个页面,因为我使用的是AJAX。所以我希望它在同一页。这就是我为什么评论这篇文章的原因

    <ul runat="server" id="ulList" onclick="ul_Click">
    </ul>
数据绑定到页面加载事件中的列表

protected void Page_Load(object sender, EventArgs e)
{
    conn = new SqlConnection("Server=NIPUNA-PC\\SQLEXPRESS; Database=XXX; Trusted_Connection=True");
    string[] itemList = authorList();
    foreach (string item in itemList)
    {
        HtmlGenericControl newLi = new HtmlGenericControl("li");
        //newLi.InnerHtml = "<a href=\"Books.aspx?bookId=" + item + "\">" + item + "</a>";
        newLi.InnerText = item;
        ulList.Controls.Add(newLi);
    }
}
受保护的无效页面加载(对象发送方,事件参数e)
{
conn=newsqlconnection(“Server=NIPUNA-PC\\SQLEXPRESS;Database=XXX;Trusted_Connection=True”);
字符串[]itemList=authorList();
foreach(itemList中的字符串项)
{
HtmlGenericControl newLi=新的HtmlGenericControl(“li”);
//newLi.InnerHtml=“”;
newLi.InnerText=项目;
ulList.Controls.Add(newLi);
}
}

我想要ul_Click()事件?

看起来您正在处理innerHtml的事情。您可以通过链接传递某种ID

"<a href=\"Books.aspx?bookId=" + item + "&liID=" + **SOME_ID** + "\">" + item + "</a>";
”;
然后执行请求查询字符串并检查该id。如果该id存在,则调用函数

我不是百分之百确定,但是你试图用HtmlGenericControl做的事情可能是不可能的。我认为不能将onclick事件绑定到HtmlGenericControl

您的另一个选择可能是使用ajax/javascript

编辑>刚刚看到评论。所以你可以这样做

 "<a href=\"javascript:callMyAjaxFunction(" + item + ");\">" + item + "</a>";
”;
你也可以这样做

"<a href=\#"\" onclick=\"javascript:callMyAjaxFunction(" + item + ");\">" + item + "</a>";
”;

我个人不喜欢最后一个,因为
似乎您已经开始使用innerHtml了。您可以通过链接传递某种ID

"<a href=\"Books.aspx?bookId=" + item + "&liID=" + **SOME_ID** + "\">" + item + "</a>";
”;
然后执行请求查询字符串并检查该id。如果该id存在,则调用函数

我不是百分之百确定,但是你试图用HtmlGenericControl做的事情可能是不可能的。我认为不能将onclick事件绑定到HtmlGenericControl

您的另一个选择可能是使用ajax/javascript

编辑>刚刚看到评论。所以你可以这样做

 "<a href=\"javascript:callMyAjaxFunction(" + item + ");\">" + item + "</a>";
”;
你也可以这样做

"<a href=\#"\" onclick=\"javascript:callMyAjaxFunction(" + item + ");\">" + item + "</a>";
”;

我个人不喜欢最后一个,因为添加到robert的理想中,而不是在标记中包含两次项,您可能会这样做

<a href=\#"\" onclick=\"javascript:callMyAjaxFunction(this);\">" + item + "</a> <script language="javascript"> function callMyAjaxFunction(e){ alert(e.innerHTML);// do something } </script> 函数callMyAjaxFunction(e){ 警惕(e.innerHTML);//做点什么 }
添加到robert的理想中,而不是在标记中包含两次项,您可以这样做

<a href=\#"\" onclick=\"javascript:callMyAjaxFunction(this);\">" + item + "</a> <script language="javascript"> function callMyAjaxFunction(e){ alert(e.innerHTML);// do something } </script> 函数callMyAjaxFunction(e){ 警惕(e.innerHTML);//做点什么 }
我不想重定向到另一个页面,因为我使用的是AJAX。所以我希望它在同一页。这就是为什么我评论了我不想重定向到另一个页面的原因,因为我使用的是AJAX。所以我希望它在同一页。这就是我为什么评论这篇文章的原因