изменить div на серверный элемент управления html и добавить событие click - PullRequest
1 голос
/ 31 октября 2011

У меня есть кусок кода

<div class="class1">
 <span>testing</span>
</div>

Я изменю это на серверный элемент управления html.

<div class="class1" id="div1" runat="server">
 <span>testing</span>
</div>

Я хочу добавить событие клика.

<div class="class1" id="div1" runat="server" onclick="Test_Click">
 <span>testing</span>
</div>

В коде у меня есть этот обработчик событий.

protected void Test_Click(object sernder, EventArgs e)
{
  //code
}

Но это не работает .. Я попытался изменить onclick на onserverclick. это все еще не работает ..

Есть другой способ?

1 Ответ

2 голосов
/ 31 октября 2011

Из вашего поста я понял, что вы хотите просто перейти на серверное событие, нажимая кнопку Div. Вы не можете напрямую передать это DIV, вместо этого вы можете использовать Hidden Button в div и вызвать событие click manually.

    <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>

В _Default.aspx.cs

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


    }

Вы можете увидеть реализацию jQuery здесь: JQuery UI Dialog & Asp (веб-формы), вызывающий обработчик события

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...