【发布时间】:2016-08-11 19:56:06
【问题描述】:
我正在尝试从某个垂直选项卡面板处理可点击的 DIV。我想要的是当点击一个特定的DIV调用一个静态方法来做一些任务,所以我这样做了:
<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
解决方案:
我正在编辑我的问题以发布答案以供将来参考...: 感谢其他 cmets,我终于了解了如何使用 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 方法,我在后台调用了一些静态方法
【问题讨论】:
-
您是否尝试直接从 JavaScript 调用 C# 代码?
-
Razor 代码在页面加载时执行,正如您所注意到的。例如,你需要 AJAX 来做你想做的事。
标签: javascript html .net razor