C # HTML гиперссылка вызов метода - PullRequest
2 голосов
/ 11 марта 2011

можно ли вызвать метод, используя обычную гиперссылку, например так:

<div class="menu">
<ul>
<li><a href=#> click this </a></li>
<li><a href=#> click this again </a></li>
</ul>
<div>

вызвать этот метод:

protected void menuPersonTab_OnMenuItemClick(object sender, MenuEventArgs e)
{
    mvPerson.ActiveViewIndex = Int32.Parse(menuPersonTab.SelectedValue);
}

нет?да?

Ответы [ 5 ]

3 голосов
/ 11 марта 2011
<a ID="MyAnchor"
    OnServerClick="menuPersonTab_OnMenuItemClick" 
    runat="server"> Click This </a>

Здесь - это поясненный пример из MSDN.

0 голосов
/ 11 марта 2011

Да, это возможно. Есть несколько возможных способов сделать это. Но они настоятельно не рекомендуются. Один из них вызывает функцию onclick __doPostBack ("elementId", "parameters").

<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>
0 голосов
/ 11 марта 2011

Все зависит от того, где вы хотите выполнить код C #:

На сервере: Если ваш сервер является сервером ASP.Net, вы можете выполнить любой метод на сервере,сделав новый запрос.Если вы используете WebForms, просто добавьте серверный элемент управления.Используя MVC, новый запрос проходит через метод Action.

На клиенте

Метод 1: размещение элемента управления веб-браузера в приложении C #.Вы управляете браузером.Таким образом, вы можете делать (почти) все, что хотите.

Метод 2: Добавьте на страницу элемент управления ActiveX (yuc) или Silverlight.Вы запускаете в песочнице, но можно отловить событие click и запустить свой код.

0 голосов
/ 11 марта 2011
<a href="<%# menuPersonTab_OnMenuItemClick(); %>">Click this</a>
0 голосов
/ 11 марта 2011

В реальном C # нет, потому что .Net Framework обрабатывает весь javascript и post-back. Но всегда есть работа вокруг ... Но Microsoft не рекомендует, чтобы

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