【问题标题】:Javascript not firing from C# Code BehindJavascript 未从 C# 代码背后触发
【发布时间】:2015-12-11 00:07:11
【问题描述】:

我有这个网格视图:

 <Asp:GridView runat="server" ID="gv_main" EnableSelection="true" OnSelectedIndexChanged="gv_indexChange"
                    OnSorting="gv_Sorting" />

OnSorting 方法仅用作列的标识符。显然 C# 没有用于在 gridview 中选择列的内置函数,所以我不得不使用 OnSorting 方法和 switch 语句来获取选定的列索引。问题是,我需要将列中的所有数据加载到文本框中,以便对其进行修改。我设置了文本框,但是由于某些愚蠢的原因,在加载文本框后从代码隐藏中设置文本框的文本不起作用。所以现在我必须使用 javascript,由于一些更愚蠢的原因,它也不起作用。这是 OnSorting 方法以及我迄今为止尝试过的所有来自互联网的建议:

    public void gv_Sorting(object sender, GridViewSortEventArgs e)
    {

  Response.Write("<script>alert('Wrong messages!')</script>");

        Response.Write("<script type='text/javascript' language='javascript'> alert('Test')</script>");

        Page.ClientScript.RegisterStartupScript(this.GetType(), "Alert", "<script type='text/javascript'>alert('blah');</script>");

        Response.Write("<script language=JavaScript> alert('Hello'); </script>");

        Response.Write(@"<script language='javascript'>alert('The following errors have occurred: sldka fhig vqjq  hucxvibg yo7 .');</script>");

         ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "$(document).ready(function(){alert('Overrides successfully Updated.');});", true);

Page.RegisterStartupScript("LoadTxtBox", "<script language='javascript'>LoadTxtBox(\"" + item.Cells[0].Text + "\", " + x + ")</script>");


<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        function LoadTxtBox(txt, txtBoxNumber) {

            document.getElementById("MainContent_txt_" + txtBoxNumber + "").Text = txt;
        }

以上代码行均无效。每个都成功运行,但没有任何反应。最后一个是我需要运行的脚本,但它做同样的事情。跳过它,不抛出任何错误,并且在函数中不执行任何 javascript。我已经坚持了好几个小时,并且因沮丧和焦虑而身体不适。我即将打破我的笔记本电脑,因此非常感谢任何帮助。

【问题讨论】:

  • 另外,在您的笔记本电脑上放轻松。我相信它也希望你弄清楚这一点。

标签: javascript c# asp.net gridview


【解决方案1】:

在没有准备好文档的情况下试试这个。您正在运行的索引已更改,因此您不需要它。我也不是 100% 确定你已经加载了 jQuery...

ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "alert('Overrides successfully Updated.');", true);

【讨论】:

  • 是的,这行不通。我没有在准备好的文档上运行,并且 JQuery 已被明确加载。我想我应该提到 javascript 调用在 c# page_load 方法中运行得非常好。
猜你喜欢
  • 1970-01-01
  • 2016-01-28
  • 2013-09-25
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多