Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.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# asp:超链接中的asp:按钮无法导航到internet explorer中的页面_C#_Asp.net - Fatal编程技术网

C# asp:超链接中的asp:按钮无法导航到internet explorer中的页面

C# asp:超链接中的asp:按钮无法导航到internet explorer中的页面,c#,asp.net,C#,Asp.net,我有一个asp:按钮,它位于asp:超链接中。当您在firefox中单击该按钮时,它将转到asp:hyperlink指定的正确url,但如果您在internet explorer中单击该按钮,它将保持在同一页面上。我只是使用按钮上的PostBackUrl属性来解决此问题,但下面是一个代码示例: <asp:Hyperlink ID="hyp" runat="server" NavigateUrl="Page2.aspx"> <asp:Button ID="btn" runat="

我有一个asp:按钮,它位于asp:超链接中。当您在firefox中单击该按钮时,它将转到asp:hyperlink指定的正确url,但如果您在internet explorer中单击该按钮,它将保持在同一页面上。我只是使用按钮上的PostBackUrl属性来解决此问题,但下面是一个代码示例:

<asp:Hyperlink ID="hyp" runat="server" NavigateUrl="Page2.aspx">
<asp:Button ID="btn" runat="server" Text="Submit" /></asp:Hyperlink>


为什么上述功能在firefox中有效,而在IE中无效?

您的按钮正在同一页面上执行回发。如果我是你,我会尝试使用HTML工具箱中的标准按钮,而不是ASP.NET按钮


编辑:我更强烈地建议取消按钮控件并适当设置超链接的样式,或者取消这两种控件并使用hyperlinkbutton控件,并将其显示属性设置为显示为按钮。

您的按钮正在同一页面上执行回发。如果我是你,我会尝试使用HTML工具箱中的标准按钮,而不是ASP.NET按钮


编辑:我更强烈地建议删除按钮控件并适当设置超链接的样式,或者同时删除这两个控件并使用hyperlinkbutton控件,并将其显示属性设置为显示为按钮。

您所做的不太正确

只需添加按钮并在其单击处理程序中执行以下操作:

Response.Redirect("Page2.aspx");
或者,您可以编写一行javascript:

<input type="button" value="Text" onclick="location='Page2.aspx'" />

你所做的不太正确

只需添加按钮并在其单击处理程序中执行以下操作:

Response.Redirect("Page2.aspx");
或者,您可以编写一行javascript:

<input type="button" value="Text" onclick="location='Page2.aspx'" />

在超链接中使用按钮有什么原因吗?根据您试图实现的设计,我将只使用一个按钮或链接按钮,然后在codebehind中根据您的逻辑执行重定向

<asp:Button runat='server' id='button1' Text='Click Me' Click='button1_Click' />
<asp:LinkButton runat='server' id='linkbutton1' Text='Click Me'  Click='button1_Click' />
Firefox vs Internet Explorer


我怀疑您在Firefox和Internet Explorer之间存在差异,因为事件在浏览器之间冒泡/传播的方式不同。如果要取消事件的传播,则需要在按钮单击事件处理程序(在javascript中)中包含对event.preventDefault()或event.stopPropagation()的调用。

是否有在超链接中使用按钮的原因?根据您试图实现的设计,我将只使用一个按钮或链接按钮,然后在codebehind中根据您的逻辑执行重定向

<asp:Button runat='server' id='button1' Text='Click Me' Click='button1_Click' />
<asp:LinkButton runat='server' id='linkbutton1' Text='Click Me'  Click='button1_Click' />
Firefox vs Internet Explorer

我怀疑您在Firefox和Internet Explorer之间存在差异,因为事件在浏览器之间冒泡/传播的方式不同。如果要取消事件的传播,则需要在按钮单击事件处理程序(javascript)中包含对event.preventDefault()或event.stopPropagation()的调用。

我将使用
然后使用CSS来设置它的样式,并使用代码隐藏来处理功能

protected void Redirect(object sender, EventArgs e)
{
   // do something
}
在我看来,表达、标记和功能的三重分离是最好的选择,我会使用
,然后使用CSS来设计它的样式,并使用后面的代码来处理功能

protected void Redirect(object sender, EventArgs e)
{
   // do something
}


在我看来,展示、标记和功能的三重分离是一种方式

我想说你真的想问如何将超链接设置为按钮我正在设置按钮的样式,但我的问题是,为什么上述功能在firefox中有效,而在IE中无效。是的,但你不需要超链接和按钮,这太过分了,使用一个符合目的的控件,例如LinkButton我会说你真的想问如何将超链接设置为按钮我正在设置按钮的样式,但我的问题是,为什么上面的操作在firefox中有效,而在IE中无效。是的,但你不需要超链接和按钮,这太过分了,使用一个符合目的的控件,即LinkButton我只需在按钮上使用PostBackUrl属性就可以了。PostBackUrl是另一回事,但也应该可以。对于这个问题有太多的解决方案。你知道为什么我上面的代码在IE中不起作用,但在firefox中却起作用吗?也许firefox认为点击按钮也可以获得超链接。虽然不确定:)我只是在按钮上使用PostBackUrl属性,效果很好。PostBackUrl是另一个故事,但它也应该起作用。对于这个问题有太多的解决方案。你知道为什么我上面的代码在IE中不起作用,但在firefox中却起作用吗?也许firefox认为点击按钮也可以获得超链接。虽然不确定:)事实上,我认为我这样做是偶然的,但现在我很好奇为什么它在firefox中工作,而不是IE。这可能不是最好的答案,但我使用一个按钮,因为我在按钮上设置了CssClass。事实上,我认为我这样做是偶然的,但现在我很好奇为什么它在firefox中工作,但不是IE。这可能不是最好的答案,但我之所以使用按钮,是因为我在按钮上设置了CssClass。这正是我使用按钮所做的,但我只是好奇为什么它在firefox中工作而不是在IE中。这正是我使用按钮所做的,但我只是好奇为什么它在firefox中工作而不是在IE中。