首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有窗体的服务器控件自动回发具有_blank属性

具有窗体的服务器控件自动回发具有_blank属性
EN

Stack Overflow用户
提问于 2011-11-15 23:05:47
回答 4查看 1.3K关注 0票数 1

我的情况是,我有一个包含表单的asp.net页面

代码语言:javascript
运行
复制
<form id="form1" runat="server" target="_blank">

按钮重定向到另一个页面,由于表单的目标属性,此页面将在新窗口中打开。

代码语言:javascript
运行
复制
<asp:Button ID="button1" runat="server" PostBackUrl="~/kindofpage.aspx" Text="Generate" />

我有一个dropdownlist,它有auto postback = true,用来通过选择的数据来填充另一个dropdownlist。

代码语言:javascript
运行
复制
<asp:dropdownliast id="Make" name="Make" runat="server" autopostback="true"></asp:dropdownlist>

问题是:为什么当我从自动回发的下拉列表中选择项目时,会打开一个空白页面?

我需要一种方法来通过下拉列表张贴页面,而不打开空白页面。

谢谢,

EN

回答 4

Stack Overflow用户

发布于 2011-11-15 23:12:45

如果没有更好的方法,您可以从标记中删除target="_blank"属性,当您的按钮被单击时,使用JavaScript修改form标记并设置该属性。

您可以设置OnClientClick属性并在单击时运行JavaScript。例如:

代码语言:javascript
运行
复制
<asp:Button ID="button1" OnClientClick="document.getElementById('form1').setAttribute('target', '_blank')" runat="server" PostBackUrl="~/kindofpage.aspx" Text="Generate" />
票数 0
EN

Stack Overflow用户

发布于 2011-11-15 23:19:20

您可以随时调整您的按钮按下代码来打开一个新窗口,如下所示:

代码语言:javascript
运行
复制
<asp:Button ID="myBtn" runat="server" Text="Click me" 
 onclick="myBtn_Click" OnClientClick="window.open('kindofpage.aspx', 'kindofpage');" />

然后删除:

代码语言:javascript
运行
复制
target="_blank"

从表单标签。

票数 0
EN

Stack Overflow用户

发布于 2016-06-29 03:50:55

我在类似的情况下挣扎过,但用下面的方法解决了它。正如在this answer中提到的,您可以使用OnClientClick属性将目标设置为"_blank“。例如。

代码语言:javascript
运行
复制
<asp:Button ID="button1" OnClick="codebehind_method" OnClientClick="document.forms[0].target = '_blank';" runat="server" Text="targets new window" />

然后,在我的"codebehind_method“函数重定向到的aspx页面中,我重置了打开表单的目标,如下所示:

代码语言:javascript
运行
复制
<script type="text/javascript">
function resetTarget() { 
opener.document.forms[0].target = ''; 
}
</script>
<body onload="resetTarget()">

现在,如果您返回到打开窗体并使用未设置"OnClientClick“属性的控件,则AutoPostBack应该出现在相同的选项卡中。如果要按ID查找表单,请将"document.forms“替换为:

代码语言:javascript
运行
复制
document.getElementByID('yourFormName')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8138416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档