c#
  • target
  • linkbutton
  • 2012-02-13 106 views 14 likes 
    14

    是有可能在LinkButton一个target="_blank" ...矿似乎没有被工作C#目标=“_空白”在一个LinkBut​​ton

    <asp:LinkButton runat="server" ID="g31" Text="PDF" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"productID") %>' CommandName='<%# DataBinder.Eval(Container.DataItem,"documentID") %>' OnCommand="linkbutton_showpdf" target="_blank"></asp:LinkButton> 
    

    否则我将不得不使用不同的按钮格式?

    +0

    你想做什么? – ShankarSangoli 2012-02-13 04:04:27

    +0

    我在后面的代码中有一个Response.Redirect ...我试图在另一个窗口中打开它。 – user979331 2012-02-13 04:05:25

    +2

    我可能会错过它,但我没有看到任何'target =“_ blank”'的符号。 – 2012-02-13 04:05:36

    回答

    -3

    只是渲染的href设置为相应的URL锚,并设置target属性_blank它会将网址打开到新窗口。

    <a href="urlOfThePage" target="_blank" >Click me</a> 
    
    +1

    这也工作得很好 – user979331 2012-02-13 04:41:42

    +1

    这是不正确的asp.net。请参阅下面的答案。 – 2014-12-05 15:54:34

    7

    您可以使用超链接控件,它具有target='_blank'属性。但是,如果你必须使用一个LinkBut​​ton控件,那么你可以添加一个OnClientClick属性,然后调用JavaScript函数打开一个弹出窗口

    window.open(); 
    
    +0

    工作太:) :) – user979331 2012-02-13 04:39:27

    28

    你可以这样使用带有链接按钮

    更换target="_blank"OnClientClick="window.document.forms[0].target='_blank';"

    +0

    我犯了一个错误......它是'W'而不是'W'。谢谢。现在它正在工作 – SearchForKnowledge 2014-06-26 20:30:11

    +2

    这将使链接按钮被点击后形式中的每个链接“target = _blank” – deebs 2015-07-06 14:54:52

    +0

    您需要添加 'setTimeout(function(){window.document.forms [0] .target ='';} ,0);' – Nina 2016-11-18 17:01:53

    4

    我与Devsaninii的答案在我改变了形式的目标,发现我的网页点击,改变目标的链接后,切换到新窗口的其余部分的不希望的行为工作。这是有道理的,但不受欢迎。

    我打开一些链接的文件,并与他人加载新页面。我希望在新窗口中打开文件,并且希望在同一个窗口中打开新页面。但是在我改变了目标之后,一切都在一个新窗口中。我本可以通过并为每个linkbutton添加一个客户端点击处理程序,但那太麻烦了。

    所以这是我想出了:

    我添加了一个类来我linkbuttons这是应该有一个新的窗口作为目标,然后我加入这个小片的jQuery给我的脚本:

    $(function() { 
        $('a').click(function() { 
         if ($(this).hasClass('changeTarget')) { 
          window.document.forms[0].target = '_blank'; 
         } else { 
          window.document.forms[0].target = '_self'; 
         } 
        }); 
    }); 
    

    现在,当应该有一个新窗口的linkbutton被按下时,它将在新窗口中打开,当其他任何东西被按下时,它将在同一个窗口中打开。

    11

    目前的答案都不正确,即使<a>标签在asp.net中也不是正确答案。

    使用HyperLink按钮。甚至有一个目标属性的属性。

    <asp:HyperLink runat="server" NavigateUrl='http://rrs.com/aspx/Equipment/EquipmentType.aspx' Target="_blank">Create/Edit Part Types </asp:HyperLink> 
    
    +0

    100%最佳答案 – deebs 2015-07-06 15:00:37

    -1

    寻找这些问题的答案后,并没有是我想要的到底是什么(有一个按钮,看看这样做),我结束了使用超链接控制,而使用相同的CSS样式作为我的常用按键:

    .button { 
    
        background-color:#011745; 
        color:white; 
        padding:7px 12px 7px 12px; 
        margin:3px; 
        border-style:none; 
        font-size:12px; 
    
    } 
    
    .button:hover { 
    
        background-color:#336699; 
        color:white; 
        padding:7px 12px 7px 12px; 
        margin:3px; 
        border-style:none; 
        font-size:12px; 
    
    } 
    

    它看起来就像他们一样!如果你打算在一个新窗口中打开一个链接的按钮,那是我的,它几乎是完美的。在一组表格中,它显示的只是一个比常规按钮更低的触摸,所以我将它设置为这样:“position:relative; top:-2px;”那就是诀窍。我也必须强制forecolor白色:

    <asp:HyperLink ID="btnSummaryReport" Target="_blank" runat="server" Text="SUMMARY REPORT" CssClass="button" ForeColor="white" Font-Size="8" style="position:relative; top:-2px" /> 
    
    -1

    添加到@Devsainii上面的答案。

    将属性OnClientClick="window.document.forms[0].target='_blank';"添加到您的LinkBut​​ton,然后在后面的代码中,只需使用Response.Redirect("~/AnotherPage.aspx")即可导航到另一个页面。

    相关问题