【问题标题】:How to call js file function from code behind page如何从页面后面的代码调用js文件函数
【发布时间】:2014-06-19 15:24:43
【问题描述】:

我在 .js 文件中有以下函数,我需要在保存记录后从页面后面的代码中调用它。

我已经在aspx页面注册了scipt文件

aspx 文件

  <script type="text/javascript" src="/scripts/visit-flash-report.js"></script>

.js 文件

function reloadDocTab() {

alert('hello');
$('#frmDocs').attr('src', $('#frmDocs').attr('src'));
}

页面代码

我试过这个功能,但它不起作用

Page.ClientScript.RegisterOnSubmitStatement(Me.[GetType](), "reload function", "return reloadDocTab();")

【问题讨论】:

  • 试试 Page.ClientScript.RegisterStartupScript

标签: c# javascript jquery asp.net vb.net


【解决方案1】:

如果我理解你想要做什么。您想在回发时保存记录,然后在页面重新加载时调用 javascript 函数。

试试这个:

PageBody.Attributes.Add("onload", "reloadDocTab()");

【讨论】:

  • 不,我不想在回发时调用 reloadDocTab()。我想在单击某个按钮时调用它,该按钮将在数据库中保存记录然后刷新选项卡。
【解决方案2】:

试试这个:

.aspx

<script type="text/javascript" src="/scripts/visit-flash-report.js"></script>
<asp:Literal runat="server" ID="litJS" />

.cs

litJS.Text = @"<script type='text/javascript'>alert('hello');</script>";

如果您不需要在不同的回发上执行脚本,您可能需要为文字分配一个空字符串。

【讨论】:

  • 您使用脚本管理器吗?是回调还是完整回发?
  • @user1263981 我的错...我编辑了我的答案。我忘记添加参数“true”,以便将脚本添加到脚本标签中。
  • @user1263981 在猜测 .aspx 结构时,您需要在引用 .js 文件的行之后插入一个占位符(在本例中为文字)。有关详细信息,请参阅我的更新答案
【解决方案3】:

尝试其中一个:

Page.ClientScript.RegisterStartupScript(this.GetType(), "ScriptKey", "reloadDocTab()", true);

或

ClientScript.RegisterStartupScript(this.GetType(), "ScriptKey", "reloadDocTab()", true);

或

ScriptManager.RegisterStartupScript(this.GetType(), "ScriptKey", "reloadDocTab()", true);

我认为您可能需要在 head 标签中引用 .JS 文件

<head runat="server">
    <script src="~/scripts/visit-flash-report.js"></script>
</head>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 2013-11-13
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多