Michael Sterling
asked on
How do I get my LinkButton to open in a separate window / tab?
I'm having trouble making my LinkButton open in a separate window / tab. How do I do this? In my HTML, its the first LinkButton (ID="lnkbtnGoogleMap")
my HTML
my C#
my HTML
<asp:DataGrid ID="dgSummary" runat="server" AllowPaging="True" AllowSorting="true"
PagerStyle-Mode="NumericPages" PagerStyle-Position="TopAndBottom" PagerStyle-HorizontalAlign="center"
PagerStyle-BackColor="#CCCCCC" PagerStyle-NextPageText="Next Page" PagerStyle-PrevPageText="Prev Page"
Font-Size="14px" AutoGenerateColumns="False" CellPadding="2" PageSize="10" Width="80%"
OnPageIndexChanged="dgSummary_PageIndexChanged" OnSortCommand="dgSummary_SortCommand"
OnItemCommand="dgSummary_ItemCommand">
<HeaderStyle BackColor="#CCCCCC" HorizontalAlign="Center" Font-Bold="true"></HeaderStyle>
<Columns>
<asp:TemplateColumn Visible="false">
<ItemTemplate>
<asp:Label ID="lblPSEQ" runat="server" Text='<%# Eval("PSEQ") %>' />
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn Visible="false">
<ItemTemplate>
<asp:Label ID="lblCompName" runat="server" Text='<%# Eval("PNAME") %>' />
</ItemTemplate>
</asp:TemplateColumn>
<%--<asp:BoundColumn HeaderStyle-Width="425px" HeaderText="Name" DataField="PNAME" SortExpression="PNAME" />--%>
<asp:TemplateColumn HeaderText="Company Name" ItemStyle-Width="100em" HeaderStyle-ForeColor="#034AF3"
ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="lnkbtnGoogleMap" Text='<%# Eval("PNAME") %>' CommandName="GoogleMap"
runat="server" OnClientClick="_blank"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn HeaderStyle-Width="400px" HeaderText="City" DataField="PCITY" SortExpression="PCITY"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundColumn HeaderStyle-Width="75px" HeaderText="State" DataField="PSTATE" SortExpression="PSTATE"
ItemStyle-HorizontalAlign="Center" />
<asp:BoundColumn HeaderStyle-Width="400px" HeaderText="Summary Count" DataField="PCOUNT"
SortExpression="PCOUNT" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateColumn HeaderText="Details" ItemStyle-Width="400px" HeaderStyle-ForeColor="#034AF3"
ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="lnkButton" Text="Show Details" CommandName="ShowDetails" runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
my C#
protected void dgSummary_ItemCommand(object source, DataGridCommandEventArgs e)
{
Label lblCompName;
Label lblPSEQ;
lblMsg1.Text = string.Empty;
if (e.CommandName == "GoogleMap")
{
iDB2Connection con;
iDB2DataReader dbr;
iDB2Command cmd;
string strSelect;
string temp;
rblDetailsSummary.SelectedIndex = 0;
lblPSEQ = (Label)e.Item.Cells[0].FindControl("lblPSEQ");
lblCompName = (Label)e.Item.Cells[0].FindControl("lblCompName");
using (con = new iDB2Connection())
{
con.ConnectionString = ConfigurationManager.AppSettings["ConnString"];
con.Open();
strSelect = @"SELECT PADDRESS, PCITY, PSTATE, PZIP FROM ais2000d.POLK WHERE PSEQ = " + lblPSEQ.Text.ToString().Trim();
cmd = new iDB2Command(strSelect, con);
dbr = cmd.ExecuteReader();
if (dbr.Read())
{
if (!dbr["PADDRESS"].ToString().ToUpper().Trim().Equals("ADDRESS NOT AVAILABLE"))
{
lblMsg1.Text = string.Empty;
Response.Redirect("http://maps.google.com/?q=" + dbr["PADDRESS"].ToString().Trim() + "+" +
dbr["PCITY"].ToString().Trim() + "+" + dbr["PSTATE"].ToString().Trim() + "+" + dbr["PZIP"].ToString().Trim());
}
else
lblMsg1.Text = @"*** NO ADDRESS AVAILBLE! FOR: " + lblCompName.Text.ToString().Trim() +
" IN " + dbr["PCITY"].ToString().Trim() + " ***";
}
}
}
}
<asp:LinkButton ID="lnkbtnGoogleMap" Text='<%# Eval("PNAME") Target="_blank"%>' CommandName="GoogleMap"
ASKER
@David: I have that in my LinkButton declaration but it seems to not be working. What am I doing wrong?
ASKER
@David: No, no I don't, that was a lie! haha lol. Thanks that worked!
ASKER
@David: I let myself be intimidated by the intellisense not listing: "Target" as an option. When I manually typed it in, as you suggested, it worked fine. Thanks again.
ASKER
Thanks. If the answer would've been a snake, it would've bit me in the eyeball. Thanks again.
ASKER
@David: I jumped the gun. Its only opening in a blank window. I need it to go to the google maps address that i'm pointing it behind the scenes in C#. Any suggestions?
what is the code (html) that is generated for that?
ASKER
When I view the source this is what I see. Is this what you're looking for?
<td align="center" style="width:100em;">
<a id="MainContent_dgSummary_lnkbtnGoogleMap_0" Target="_blank" href="javascript:__doPostBack('ctl00$MainContent$dgSummary$ctl03$lnkbtnGoogleMap','')">AAA COOPER TRANSPORTATION </a>
</td><td align="center">STERRETT </td><td align="center">AL</td><td align="center">1</td><td align="center" style="width:400px;">
<a id="MainContent_dgSummary_lnkButton_0" href="javascript:__doPostBack('ctl00$MainContent$dgSummary$ctl03$lnkButton','')">Show Details</a>
</td>
ASKER
In Fire Fox, I get a javascript error that reads:
ReferenceError: __doPostBack is not defined
ReferenceError: __doPostBack is not defined
<td align="center" style="width:100em;">
<a id="MainContent_dgSummary_lnkbtnGoogleMap_0" Target="_blank" href="javascript:__doPostBack('ctl00$MainContent$dgSummary$ctl03$lnkbtnGoogleMap','')">AAA COOPER TRANSPORTATION </a>
</td><td align="center">STERRETT </td><td align="center">AL</td><td align="center">1</td><td align="center" style="width:400px;">
<a id="MainContent_dgSummary_lnkButton_0" href="javascript:__doPostBack('ctl00$MainContent$dgSummary$ctl03$lnkButton','')">Show Details</a>
</td>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
As it turns out, I did solve it using the link above, as mentioned in my last post. I was having some syntactical issues that I solved and it now seems to be working fine.