Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# GridView中的LinkButton重定向到旧浏览器中的同一页面(在chrome中工作正常)_C#_Asp.net_Gridview_Linkbutton - Fatal编程技术网

C# GridView中的LinkButton重定向到旧浏览器中的同一页面(在chrome中工作正常)

C# GridView中的LinkButton重定向到旧浏览器中的同一页面(在chrome中工作正常),c#,asp.net,gridview,linkbutton,C#,Asp.net,Gridview,Linkbutton,我正在尝试将GridView中的LinkButton重定向到其他URL。但每当我从Chrome或Firefox上点击它时,它都可以正常工作,并将我重定向到指定的URL。但旧浏览器中的相同内容会重定向到相同的页面URL,而不会重定向到新的URL 下面是代码 GetContent.aspx <asp:GridView ID="SearchCatResGridView" autogeneratecolumns="false" runat="server" ShowHea

我正在尝试将GridView中的LinkButton重定向到其他URL。但每当我从Chrome或Firefox上点击它时,它都可以正常工作,并将我重定向到指定的URL。但旧浏览器中的相同内容会重定向到相同的页面URL,而不会重定向到新的URL

下面是代码

GetContent.aspx

<asp:GridView ID="SearchCatResGridView" autogeneratecolumns="false" runat="server" 
            ShowHeader="true" ShowFooter="false" AllowPaging="false" AllowSorting="true" PageSize="2" 
            CellPadding="5" CellSpacing="-1" GridLines="None" CssClass="DataTable" BorderWidth="1" 
            PagerSettings-Visible="false" 
            OnRowDataBound="fileGridView_RowDataBound" >
<columns>
<asp:TemplateField HeaderText="Register">
<ItemTemplate>
        <asp:LinkButton Forecolor="#F37F0F" runat="server" ID="linkButton2" OnClientClick="SetTarget();"
                        oncommand="Button1_Command"  
                        Text="Learn More/ Register" CommandArgument='<%#Eval("userid")%>'>
        </asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</columns>
</asp:GridView>
有人能帮我吗,因为它看起来不仅仅在旧浏览器上工作。 TIA

请像这样尝试

    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="myLinkButton" runat="server" OnClick="myLinkButton_Click" CommandArgument='<%#Eval("userid")%>'>Click Me</asp:LinkButton>
                        </ItemTemplate>
    </asp:TemplateField>

protected void myLinkButton_Click(object sender, EventArgs e)
        {
            string userid = (sender as LinkButton).CommandArgument;
            Response.Redirect("~/HereURL/course/" + userid);
        }

点击我
受保护的void mylink按钮\u单击(对象发送方,事件参数e)
{
字符串userid=(发送者为LinkButton).CommandArgument;
重定向(“~/HereURL/course/”+userid);
}

点击我
受保护的void showDetails(对象发送者、CommandEventArgs e)
{
字符串userid=e.CommandArgument.ToString();
重定向(“课程/”+userid);
}

问题在于旧浏览器无法同时处理“OnClientClick”和(postback)oncommand=“Button1\u命令”。它只是执行客户端代码并发回同一页面。为什么不尝试使用相同的(客户端)函数SetTarget()重定向“@DaniDev我将尝试删除OnClientClick并检查它是否工作SetTarget();“是吗?只是好奇?这个问题解决了吗?我的建议有帮助吗?如果有,我可以添加它作为答案。干杯!
    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="myLinkButton" runat="server" OnClick="myLinkButton_Click" CommandArgument='<%#Eval("userid")%>'>Click Me</asp:LinkButton>
                        </ItemTemplate>
    </asp:TemplateField>

protected void myLinkButton_Click(object sender, EventArgs e)
        {
            string userid = (sender as LinkButton).CommandArgument;
            Response.Redirect("~/HereURL/course/" + userid);
        }
<asp:TemplateField>
               <ItemTemplate>
                    <asp:LinkButton ID="lnkshow" runat="server" OnCommand="showDetails" CommandArgument='<%# Eval("userid")%>'>Click Me</asp:LinkButton>
              </ItemTemplate>
</asp:TemplateField>


protected void showDetails(object sender, CommandEventArgs e)
{
     string userid = e.CommandArgument.ToString();
     Response.Redirect("course/"+userid);
}