繁体   English   中英

从后面的代码中调用javascript方法

[英]Calling javascript Method from Code behind

此代码在另一页中有效,但在新页面中不起作用

JS函数被称为:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  <script type="text/javascript">
    function myfun() {
      alert("test");
    }
  </script>
</asp:Content>

HTML代码:

<asp:TemplateField>
  <ItemTemplate>
    <asp:ImageButton CssClass="Link" ID="IMGDetail" 
         ClientIDMode="Static" runat="server" 
         ImageUrl="~/Img/Detail.png" Height="19px" 
         Width="19px" OnClick="IMGDetail_Click" ToolTip="Detail" />
  </ItemTemplate>
</asp:TemplateField>

后面的代码:

protected void IMGDetail_Click(object sender, ImageClickEventArgs e) {
  LinkButton lbtn = (LinkButton) sender;
  GridViewRow gvr = (GridViewRow) lbtn.NamingContainer;
  Label LabelTicketId = (gvr.FindControl("LBTicketId") as Label);
  Session["TicketId"] = LabelTicketId.Text;
  ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "myfun()", true);
}

我认为您需要在aspx页面中添加以下标记。

<asp:ScriptManager ID="ScriptManager" runat="server" />

在Codebehind

ScriptManager.RegisterStartupScript(this, typeof(string), "myfun", "myfun()", true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM