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! ";
}
}