【问题标题】:How to call Javascript method from code behind如何从后面的代码调用 Javascript 方法
【发布时间】:2014-05-07 18:44:45
【问题描述】:

我是 Javascript 的初学者。

我有一个javascript函数

Print: function () {
......
}

在我的“testing.js”文件中。

现在我需要从代码隐藏方法中调用这个“打印”函数。怎么办……?

我尝试了以下所有方法,但每次都失败了

http://forums.asp.net/t/1785410.aspx?how+to+call+javascript+function+from+code+behind+cs+file+

How to call this javascript function from code behind

还有很多......但没有得到解决方案......任何帮助我摆脱这个?

我为此工作了一天,但都是徒劳的。

【问题讨论】:

  • 'mvc' 标签是指 ASP.NET MVC 吗?如果是,那么在 ASP.NET MVC 中就没有“代码隐藏”的真正概念......
  • @PatrykĆwiek: 嗨,是的 ASP.NET MVC,我想要一个方法名 print,在那个方法中我想调用这个 JS“打印”函数
  • 您不能直接从服务器代码调用 javascript 函数,它是完全独立的域。除非从 Ajax 调用服务器代码,否则 javascript 页面甚至还不存在。
  • 这可能有助于更好地了解您要完成的工作。当您说“代码隐藏”时,您是否希望服务器告诉浏览器进行打印?或者您是否想要页面上的按钮来调用打印功能?还是别的什么?
  • 您的问题存在 XY 问题。你应该问如何解决你的问题,而不是问为什么你的解决方案不起作用。 meta.stackexchange.com/questions/66377/what-is-the-xy-problem

标签: c# javascript asp.net-mvc


【解决方案1】:

asp.net mvc 和 asp.net win-forms 是不同的技术。 在 mvc 中你没有代码,服务器和客户端之间有更好的隔离。 有一些选项取决于你的状态:

1)如果触发器发生在客户端,您可以将此触发器绑定到 js 或 jquery 函数

jquery 示例:

$('#IDOFButton').bind('click',function(){
   //call print function
   print();
});

2)如果触发发生在服务器上,您可以在脚本标签中发回一个 js,以便在它返回客户端时立即运行

public JavaScriptResult Print()
        {
            JavaScriptResult js = new JavaScriptResult();
            js.Script = "alert('hello');";
            return js;
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    相关资源
    最近更新 更多