Вызовите метод с выделенным кодом C # с помощью кнопки <li> - PullRequest
6 голосов
/ 01 июня 2010

Я получил список, один с кликом:

<ul class="tabs"> 
    <li><a href="#tab1">Foobar_1</a></li> 
    <li onclick="doMethod"><a href="#tab2">Foobar_2</a></li> 
    <li><a href="#tab3">Foobar_3</a></li> 
    <li><a href="#tab4">Foobar_4</a></li>
</ul>

Теперь метод, который я хочу вызвать при нажатии на вкладке (li), обновляет UpdatePanel, поэтому отображается сетка.

Я знаю, что это как-то связано с AJAX, но я не знаю, как двигаться дальше ...

так в принципе: как вызвать метод c # с использованием AJAX?

Ответы [ 2 ]

7 голосов
/ 01 июня 2010
<li runat="server" OnClick="DoMyOnClickCall">....</li>

Тогда

public void DoMyOnClickCall(object sender, EventArgs e)
{
   // sender is the li dom element you'll need to cast it though.
}

Для расширения: (Обновление)

sender - это объект, представляющий <li>...</li> в HTML. Это называется что-то вроде HtmlControl.

Вам нужно будет привести sender к этому типу.

var myLI = (HtmlControl)sender;
// do stuff with `myLI`
1 голос
/ 01 июня 2010

Кроме того, вы можете вызвать метод со стороны клиента:

  1. объявить ваш метод как public static bool
  2. поставить атрибут [WebMethod] для этого метода
  3. вызов метода из js

Пример кода:

<script language="javascript">
    function MyClientFunction() {
        var liElement = $get("liElement").value;
        PageMethods.doMethod(liElement,OnSuccess, OnFailure);
    }

    function OnSuccess(result) {
        if(result) {
            alert("Some error message!");
        }
    }

    function OnFailure(error) {

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