我用datalist绑定数据显示出来
结果类似于
<span>A</span>
<span>B</span>
<span>C</span>现在我要点击A,B,C中的任何一个文字
要求实现一个类似于,在页面设计中双击button控件产生的button_Onclick(object sender,Events e)这样的事件,
要在cs文件里执行。
不要用js来实现,js不满足需求。也不要在前台用<script languange="c#" runat="server">是不是要用委托来自己注册一个事件,还是怎么样,请大家帮忙了

解决方案 »

  1.   

    超链接
    <a href="#" title="<%# "标题:"+DataBinder.Eval(Container.DataItem, "Title")%>" onclick='opendialog("ShowInfo.aspx?ID=<%#DataBinder.Eval(Container.DataItem,"ID") %>")'></A>
      

  2.   

    这样,设置一个 width='0' height='0' 的服务器button,当你点击文字的时候,用脚本调用这个button执行后台事件
    <html>
    <head runat='server'>
    <script language="javascript" type="text/javascript">
    function showAlert()
    {
      document.getElementById("<%=Test.ClientID%>").click();
    }
    </script>
    </head><body>
    <asp:button  ID="Test" runat="server" OnClick="Test_Click" Width='0' Height='0'/>
    <span onclick='showAlert()'>1</span>
    <span onclick='showAlert()'>2</span>
    </body>
    </html>
      

  3.   


         <asp:DataList ID="DataList1" runat="server" OnItemCommand="DataList1_ItemCommand" >
                <ItemTemplate>
                  <%# Eval("id").ToString() + Eval("name").ToString() %>  
                  <asp:Button ID="Button2"  CommandName="A" runat="server" Text="A" />
                  <asp:Button ID="Button3" CommandName="B" runat="server" Text="B" />
                  <asp:Button ID="Button4" CommandName="C" runat="server" Text="C" />
                </ItemTemplate>
         </asp:DataList>
        protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
            if(e.CommandName=="A")
            {
                Response.Write("A");
            }
            else if (e.CommandName == "B")
            {
                Response.Write("B");
            }
            else
            {
                Response.Write("C");
            }    }