从cshtml文件调用静态方法
Calling a static method from cshtml file
我试图从一些垂直标签面板上一个可点击的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
解决方案:
我正在编辑我的问题,以张贴答案供将来参考…:多亏了其他的评论,我终于明白了如何使用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方法,我将调用后台的静态方法
I want it only when I click on my div.
<=当您在发送请求后单击浏览器中正在执行的div时。浏览器无法在应用程序的方法内部直接回调。HTML已经在请求中由服务器生成并发送给客户端,这就是通信周期停止的地方。
如果你想让一个点击(或任何其他事件)在服务器上做一些特定的事情,你需要做这些用于与服务器通信的标准动作之一。
- 创建一个AJAX请求回你的MVC控制器获取数据(或其他)。
- 创建链接(标准url)
- 创建表单post back
当然,@MyProject.myMethod()
在每次渲染页面时执行,因为您的razor视图是一个代码文件,逐行解释,因此可以渲染并发送给请求它的客户端。这里有效的是,如果myMethod
输出一些javascript或一些浏览器可以理解和做的事情,这就是预期的。
你不能这么做。所有的@
(Razor)表达式在服务器上的页面呈现期间被解析。这就是为什么你的方法被调用。
可能需要进行Ajax调用。
在这里查看更详细的解释:如何在ASP上调用静态方法?网页,从Javascript?
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 无法理解JavaScript中的静态方法
- 从构造函数es6调用静态方法
- 如何理解“当类实例化时,JavaScript静态方法也是不可调用的”
- 使用 Babel 转译器导入类并调用带有 ES6 模块的静态方法
- 从常规ES6类方法中调用静态方法
- Jquery UI 调用小部件的静态方法
- 如何定义扩展方法并将其作为实例和静态方法调用
- 从JavaScript调用PHP静态方法,而无需中间PHP脚本
- Javascript类扩展:从子类函数调用基类函数:似乎在调用静态方法
- 动态调用JavaScript / ES7类中的静态方法
- 如何在ASP上调用静态方法?Net页面,来自Javascript
- 如何从aspx调用非静态方法
- 从父类调用重写的静态方法
- 如何在data-ng-click中传递调用动态方法而不是静态方法(即想要传递要调用的方法而不是固定的delete()方法
- 我如何使用javascript调用在代码中编写的非静态方法
- 从cshtml文件调用静态方法
- ES6-调用类中的静态方法
- 从javascript调用静态方法
- 从c#静态web方法(page方法)调用Javascript函数