1

当 gridview 的选择发生变化时,我有一个问题,我想调用 javascript 代码。但是,我无法启动我的 javascript。我怎样才能做到这一点?

//HTML端

<input ID="addressinput" type="text"  runat="server" style="display:none;"/>

<asp:Button ID="Button1" runat="server" Text="Button" style="display:none;" OnClientClick="return myfunction();" onclick="Button1_Click"  />

//Javascript

function myfunction() {
    FindLocaiton();
}

//C#

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    addressinput.Value = GridView1.SelectedRow.Cells[1].Text;
     Button1.Click += new EventHandler(Button1_Click);
}

protected void Button1_Click(object sender, EventArgs e)
{

}
4

2 回答 2

3

根据以下代码,java脚本函数myfunction()将首先执行,然后是服务器端按钮点击事件......所以你需要在按钮点击事件中添加以下代码以在服务器端代码之后执行javascript代码..

ClientScript.RegisterStartupScript(this.GetType(), "msg", "myfunction();")

以下是我测试过的代码及其工作。

ASPX 代码。

<script type="text/javascript">
    function myfunction() {

        alert('In JavaScript Code after server side code execution');
    }
</script>

   <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

C#代码:-

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("In Button Click event");
        ClientScript.RegisterStartupScript(this.GetType(), "msg", "<script language=javascript>myfunction();</script>");
    }
于 2013-11-03T17:20:07.150 回答
1

用 runat server 放置一个文字,并在 stringbuilder 中用 javascript 服务器端填充这个文字

于 2013-11-03T13:57:15.640 回答