【问题标题】:How to redirect url from the datagridview asp [closed]如何从datagridview asp重定向url [关闭]
【发布时间】:2015-10-05 00:45:02
【问题描述】:

这是我在 asp gridview 上的 rowdatabound 事件的代码

 protected void jobGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            (e.Row.FindControl("TitleLink") as LinkButton).Attributes.Add("onClick", "RedirectPage('" + jobListTable.Rows[e.Row.RowIndex + (jobGridView.PageIndex * 10)]["job_id"].ToString() + "')");

        }
    }

我的java脚本代码

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

        window.location = "Login.aspx";
    }
</script>

但是,我的代码不起作用,谁能告诉我为什么?

【问题讨论】:

  • 点击链接按钮会发生什么?你在控制台中遇到什么错误(如果有的话)?如果你重定向到Login.aspx 硬编码,你为什么要传递一个参数?
  • 我认为javascript应该是window.location.href = "xxx"; ??然后应该是return false 因为linkbutton 会做一个postback。另一件事是为什么需要javascript,因为使用linkbutton
  • 不显示任何内容,我传递参数是因为我打算在链接后面放置一个查询字符串,但目前这是我的测试代码,对我来说,我使用 window.location.href 结果是还是一样。为什么我需要 javascript 是因为我想传递参数。

标签: javascript c# asp.net


【解决方案1】:

嗯,LinkButton 是一个服务器控件。如果你想绑定到 javascript 函数,而不是onClick,你应该定位onClientClick。此外,为了防止回发,您应该从 javascript 函数中return false

找到下面的代码(为简单起见,我删除了javascript函数中的参数;您可以根据需要应用它)

后面的 C# 代码(注意 onClientClick 部分)

    protected void jobGridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            (e.Row.FindControl("TitleLink") as LinkButton).OnClientClick = "javascript:return RedirectPage();";
        }
    }

javascript 函数(注意return false 部分)

<script type="text/javascript">
    function RedirectPage() {
        window.location = 'Login.aspx';
        return false;
    }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 2013-11-30
    相关资源
    最近更新 更多