Asp.net 将div更改为html服务器控件并添加一个click事件

Asp.net 将div更改为html服务器控件并添加一个click事件,asp.net,servercontrols,Asp.net,Servercontrols,我有一段代码 <div class="class1"> <span>testing</span> </div> 但是它不起作用。。我尝试将onclick更改为onserverclick。它仍然不起作用 还有其他方法吗?从您的帖子中,我发现您希望在单击Div的同时简单地转到服务器端事件。 您不能直接将其交给DIV,相反,您可以使用DIV中的隐藏按钮,手动触发单击事件 <script> function clickDiv

我有一段代码

<div class="class1">
 <span>testing</span>
</div>
但是它不起作用。。我尝试将
onclick
更改为
onserverclick
。它仍然不起作用


还有其他方法吗?

从您的帖子中,我发现您希望在单击Div的同时简单地转到服务器端事件。 您不能直接将其交给
DIV
,相反,您可以使用DIV中的
隐藏按钮
,手动触发
单击事件

    <script>
    function clickDiv() {
    if (__doPostBack) {
        __doPostBack('<%=btnNew.UniqueID %>', '');
    }
    else {
        var theForm = document.forms['aspnetForm'];
        if (!theForm) {
            theForm = document.aspnetForm;
        }
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = '<%=btnNew.UniqueID %>';
            theForm.__EVENTARGUMENT.value = '';
            theForm.submit();
        }
    }
}
    </script>

<div class="class1" id="div1" runat="server" onclick="clickDiv()">
 <span>testing</span>
<asp:Button runat="server" Style="display: none" ID="btnNew" Text="Submit" OnClick="btnNew_Click" /> 
</div>
您可以在这里看到
jQuery
实现:

嗨,我想你的方法应该行得通。。但是当我实现它时,我遇到了javascript错误,上面的答案是正确的,但是我必须使用
document.getElementById(“”).click()而不是
dopostback
<div class="class1" id="div1" runat="server" onclick="Test_Click">
 <span>testing</span>
</div>
protected void Test_Click(object sernder, EventArgs e)
{
  //code
}
    <script>
    function clickDiv() {
    if (__doPostBack) {
        __doPostBack('<%=btnNew.UniqueID %>', '');
    }
    else {
        var theForm = document.forms['aspnetForm'];
        if (!theForm) {
            theForm = document.aspnetForm;
        }
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = '<%=btnNew.UniqueID %>';
            theForm.__EVENTARGUMENT.value = '';
            theForm.submit();
        }
    }
}
    </script>

<div class="class1" id="div1" runat="server" onclick="clickDiv()">
 <span>testing</span>
<asp:Button runat="server" Style="display: none" ID="btnNew" Text="Submit" OnClick="btnNew_Click" /> 
</div>
public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {


        }

        protected void btnNew_Click(object sender, EventArgs e)
        {
            result.Text += "hey, event handler! ";
        }


    }