Я пытаюсь работать с интерактивным DIV с некоторой вертикальной вкладкой. То, что я хочу, при нажатии на конкретный DIV вызвать статический метод, чтобы сделать некоторые задачи, так что я сделал это:Вызов статического метода из файла cshtml
<div class="tabbable tabs-left">
<ul class="nav nav-tabs">
<li onclick="myEvent()"><a href="#b" data-toggle="tab">Tuttle</a></li>
тогда, мой код JavaScript:
<script>
function clickEvet() {
alert("alert test message");
@MyProject.myMethod()
}
</script>
Вызов функции «clickEvent ()" работает. Проблема в том, что @ MyProject.myMethod() вызывается независимо от того, иными словами, @ MyProject.myMethod() выполняется, как только страница загружается. Я хочу это только тогда, когда я нажимаю на свой div.
Это из файла cshtml, и я использую .NET 4.5
РЕШЕНИЕ:
я редактирую мой вопрос, чтобы отправить ответ для будущих ссылок ...: Спасибо к другим комментариям я наконец понял, как работать с Ajax и заставить его работать. Вот решение:
<script>
function vaxGUID() {
$.ajax({
type: 'POST',
url: "/VAXBean/bmx",
data: '{"Name":"AA"}',
contentType: 'application/json; charset=utf-8',
dataType: 'html',
success: function (data) {
bmx = "http://www.vitalbmx.com";
$('a.varURL').attr('href', bmx);
GUID = data;
alert("Good response - " + data + " - " + bmx);
},
error: function (data, success, error) {
alert("Error : " + error);
}
});
return false;
}
</script>
С помощью этого метода Ajax Я делаю вызов некоторым статическим методом в фоновом режиме
Вы пытаетесь напрямую вызвать код C# из JavaScript? –
Код бритвы выполняется, когда страница загружается, как вы заметили. Например, вам понадобится AJAX, чтобы делать то, что вы хотите. –
Возможный дубликат [Как вызвать статический метод на моей странице ASP.Net, от Javascript?] (Http: // stackoverflow.com/questions/32871225/how-do-i-call-a-static-method-on-my-asp-net-page-from-javascript) –