Javascript不是从C#代码背后触发的
我有这样的观点:Javascript不是从C#代码背后触发的,javascript,c#,asp.net,gridview,Javascript,C#,Asp.net,Gridview,我有这样的观点: <Asp:GridView runat="server" ID="gv_main" EnableSelection="true" OnSelectedIndexChanged="gv_indexChange" OnSorting="gv_Sorting" /> OnSorting方法仅用作列的标识符。显然C#没有用于在gridview中选择列的内置函数,因此我不得不使用OnSorting方法和switch语句来获
<Asp:GridView runat="server" ID="gv_main" EnableSelection="true" OnSelectedIndexChanged="gv_indexChange"
OnSorting="gv_Sorting" />
OnSorting方法仅用作列的标识符。显然C#没有用于在gridview中选择列的内置函数,因此我不得不使用OnSorting方法和switch语句来获取所选列索引。问题是,我需要将列中的所有数据加载到文本框中,以便修改它们。我已经设置了文本框,但是在加载文本框之后,从codebehind设置文本框的文本是不起作用的,因为一些愚蠢的原因。所以现在我不得不使用javascript,因为一些更愚蠢的原因,它也不起作用。以下是目前为止我在互联网上尝试过的排序方法和所有建议:
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;
}
public void gv_排序(对象发送方、GridViewSortEventArgs e)
{
响应。写入(“警报(‘错误消息’)”);
响应。写入(“警报(‘测试’)”);
Page.ClientScript.RegisterStartupScript(this.GetType(),“Alert”,“Alert('blah');”;
回复。写(“警报('Hello');”);
响应。写入(@“警报('发生以下错误:sldka fhig vqjq hucxvibg yo7');”;
ScriptManager.RegisterStartupScript(this,typeof(Page),“UpdateMsg”,“$(document).ready(function(){alert('Overrides successfully Updated.');});”,true);
Page.RegisterStartupScript(“LoadTxtBox”、“LoadTxtBox(\”“+item.Cells[0]。Text+“\”,“+x+”);
函数LoadTxtBox(txt,txtBoxNumber){
document.getElementById(“MainContent\u txt\ux”+txtBoxNumber+”)。Text=txt;
}
上面的代码行都不起作用。每一行都运行成功,但什么也没发生。最后一行是我需要运行的脚本,但它做的事情是一样的。跳过它,不抛出错误,在函数中不执行javascript。我已经被困在这几个小时了,身体上充满了沮丧和焦虑。我快要崩溃了p、 因此,非常感谢您的帮助。请在文档未准备好的情况下尝试此操作。您运行的索引已更改,因此不需要此操作。我也不能100%确定您是否已加载jQuery
ScriptManager.RegisterStartupScript(this, typeof(Page), "UpdateMsg", "alert('Overrides successfully Updated.');", true);
另外,在你的笔记本电脑上放轻松。我相信它也希望你能弄明白。是的,这不起作用。我没有在文档准备好的情况下运行,JQuery是Deifnite加载的。我想我应该提到javascript调用在c#page#u加载方法中运行得非常好。