3

DataList ItemTemplate内にImageButtonがあり、ImageButtonをクリックして新しいページ(新しいタブ)を開こうとしていますが、同じタブで開きます。

<ItemTemplate>
   <asp:ImageButton ID="ibtmImage" runat="server" ImageUrl='<%# Eval("Image") %>'OnCommand="ibtmImage_Command" CommandArgument='<%# Eval("Id").ToString() %>' OnClientClick="aspnetForm.target ='_blank';" />
</ItemTemplate>

protected void ibtmImage_Command(object sender, CommandEventArgs e)
{
   Response.Redirect("ItemList.aspx?Id=" + e.CommandArgument.ToString());
}

新しいタブ/新しいウィンドウでページを開く方法。

誰か助けてください。

4

4 に答える 4

3

私はこのようなことをしていて、新しいタブで開きます

protected void ibtmImage_Command(object sender, CommandEventArgs e)
{
     string strJS = ("<script type='text/javascript'>window.open('ItemList.aspx?Id=" + e.CommandArgument.ToString() + "','_blank');</script>");
     Page.ClientScript.RegisterStartupScript(this.GetType(), "strJSAlert", strJS);
}
于 2012-06-26T06:53:21.670 に答える
1

OnClientClickに対するaspxページで、次の手順を実行します。

OnClientClick="window.open('http://yourpagetopen/');"

したがって、画像ボタンは次のようになります。

<asp:ImageButton 
 ID="ibtmImage" 
 runat="server" 
 ImageUrl='<%# Eval("Image") %>'
 OnCommand="ibtmImage_Command" 
 CommandArgument='<%# Eval("Id").ToString() %>' 
 OnClientClick="window.open('aspnetForm'); " />

またResponse.Redirect、サーバー側のイベントを削除して、onClientClickから引数を渡すこともできます。

于 2012-06-26T05:56:41.647 に答える
0

ASPX

   <asp:TemplateField Headertext="Name" HeaderStyle-HorizontalAlign="Center">
                        <ItemTemplate>           
                            <asp:HyperLink ID="HyperLink1" runat="server"  Text='<%# Eval("Name") %>' CssClass="no_underline"
                                NavigateUrl='<%# GetNavigateUrl(Eval("Id").ToString()) %>' />
                        </ItemTemplate>
                <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                    </asp:TemplateField>

CS バインド次の関数

   protected string GetNavigateUrl(string Id)
        {
            string startDateStr = StartDate.ToShortDateString();
            string endDateStr = EndDate.ToShortDateString();
            var script = String.Format("javascript:var w=window.showModalDialog('Details.aspx?Id={0}&StartDate={1}&EndDate={2}', " +
                                 "'Details', 'dialogWidth:1120px; dialogHeight:500px; resizable:no; status: no;');", PartnerId, startDateStr, endDateStr);           
            return script;
        }    
于 2012-06-26T05:52:32.683 に答える
-1
 <asp:HyperLink ID="docTitle" Text='<%#Eval("Titleofdoc") %>' NavigateUrl='<%# string.Concat("~/UI/UploadFilestest.aspx?docId=", Eval("DocId"))%>' Target="_blank"
                                runat="server" />
于 2013-11-25T07:10:22.100 に答える