在C#中从Code Behind调用Javascript函数

时间:2015-05-22 19:24:50

标签: javascript c# asp.net

我在外部JS文件中有一个javascript函数。我想从后面的co0de中调用它。我怎样才能做到这一点 ? 我从ScriptManager.RegisterStartupScript读到了我可以做的某个地方,但有人可以解释我。

JS文件:

    Function1()
    {
      alert("came");
     //Some More logic
    }

更新

来自

//Tried this But NOT WORKING
 protected void Page_PreRender(object sender, EventArgs e)
 {
      ScriptManager.RegisterStartupScript(this, GetType(), "Function1", "Function1();", true);
     Page.ClientScript.RegisterStartupScript(GetType(), "Function1", "Function1()", true);

 }

5 个答案:

答案 0 :(得分:1)

我经常使用这个

string script = string.Format("alert('{0}');",alert);
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", script, true);

基本上,它只是将该行插入您的页面并在页面加载

后立即运行

答案 1 :(得分:0)

你可以尝试

ClientScript.RegisterStartupScript(GetType(),"CallMyFunction","Function1();",true);

OR

ClientScript.RegisterStartupScript(this,this.GetType(),"CallMyFunction",
                                     "Function1();",true);

另一种方法是

ScriptManager.RegisterStartupScript(Page, typeof(Page), "somekey", script, true);

这也适用于部分回发期间。

答案 2 :(得分:0)

要严格回答您的问题,您正在寻找类似的内容:

//Following statement is used to call pre-defined javascript function
protected void btnServerSide_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(this, GetType(), "myFunction", "myFunction();", true);            
}

Here是一个提供更多详细信息和示例的网站

MSDN还有一个包含多个示例的精彩演练

This是我最喜欢的上面列出的演练,它非常全面

答案 3 :(得分:0)

示例代码,其中包含javascript文件,然后从后面的代码调用方法。

<强> MyJSFile.js

function Test() {
    alert("hi");
}

WebForm1.aspx.cs -

 using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;

namespace CodeprojectTest
{
    public partial class WebForm1 : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var js = new HtmlGenericControl("script");
            js.Attributes["type"] = "text/javascript";
            js.Attributes["src"] = "JScript1.js";
            Page.Header.Controls.Add(js);
            Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "Test();", true);
        }
    }
}

答案 4 :(得分:-1)

你可以试试这个..

MyStruct::MyStruct()
---
T getMyStruct(T&&) [with T = MyStruct&]
---
MyStruct getMyStruct(std::string)
MyStruct::MyStruct(std::string)
---
T getMyStruct(T&&) [with T = const MyStruct&]
---
MyStruct getMyStruct(std::string)
MyStruct::MyStruct(std::string)
---
MyStruct::~MyStruct()
MyStruct::~MyStruct()
MyStruct::~MyStruct()