GridView 中的 LinkButton 重定向到旧浏览器中的同一页面(在 chrome 中工作正常)
LinkButton in GridView redirecting to same page in Old browser (Works fine in chrome)
我正在尝试将我的 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>
GetContent.aspx.cs
protected void Button1_Command(object sender, CommandEventArgs e)
{
string value = e.CommandArgument.ToString();
string url = generateLmsSsoUrl(@"course/" + value);
Response.Redirect(url);
}
任何人都可以帮助我解决这个问题,因为它看起来不能只在旧浏览器上工作。
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);
}
<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);
}
我正在尝试将我的 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>
GetContent.aspx.cs
protected void Button1_Command(object sender, CommandEventArgs e)
{
string value = e.CommandArgument.ToString();
string url = generateLmsSsoUrl(@"course/" + value);
Response.Redirect(url);
}
任何人都可以帮助我解决这个问题,因为它看起来不能只在旧浏览器上工作。 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);
}
<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);
}