2013-08-02 7 views
0

Посмотрите на 1-ое изображение. enter image description hereНеобходимо перезагрузить страницу после нажатия кнопки ссылки

На этой странице я использую LinkButton. (Как ... "sr001", "sr003", и все)

страница .aspx страница

<asp:LinkButton ID="lnkbtn" runat="server" onclick="lnkbtn_Click" 
ValidationGroup='<%# Eval("pid") %>'><%#Eval("productcode") %></asp:LinkButton> 

.cs

protected void lnkbtn_Click(object sender, EventArgs e) 
{ 
    int id; 
    id = Convert.ToInt32(((LinkButton)sender).ValidationGroup.ToString()); 
    string abc = "http://development.in/prod-more-info.aspx?pid=" + id; 
    Response.Write("<script>window.open('" + abc.ToString() + "','_blank');</script>"); 
} 

Теперь, когда я Жмите на этот процесс кнопки ссылки успешно работает.

НО ..............

Мой дизайн тревожить этим процессом, посмотрите на 2-изображение ..

enter image description here

Как я могу исправить эту проблему?

ПОЖАЛУЙСТА ПОМОГИТЕ МНЕ ....

ответ

2

Ведение сырой Response.Write не рекомендуется, так как вы в буквальном смысле просто добавление контента в поток ответа.

Если вы хотите, чтобы ваш скрипт отображался в нужном месте и выполнялся, вы должны использовать вместо него ClientScriptManager.RegisterStartupScript.

ClientScriptManager cs = Page.ClientScript; 

if (!cs.IsStartupScriptRegistered(this.GetType(), "MoreInfoPopup")) 
{ 
    int id; 
    id = Convert.ToInt32(((LinkButton)sender).ValidationGroup.ToString()); 
    string abc = "http://development.in/prod-more-info.aspx?pid=" + id; 
    string script = String.Format("<script>window.open('{0}','_blank');</script>",abc); 
    cs.RegisterStartupScript(this.GetType(), "MoreInfoPopup", script); 
} 
+0

Благодаря Джош, Это работа. :) –

+0

@RajanVachhani - Без проблем :) – Josh

+0

Привет, я пробовал это на локальном компьютере и отлично работает, но когда я сделал это онлайн на сервере, он не работает .. –

0

Вы просто хотите перезагрузить страницу после нажатия кнопки? Если да, сделайте response redirect до Request.Url.AbsolutePath.

Код:

Response.Redirect(System.Web.HttpContext.Current.Request.Url.AbsolutePath);

+0

Я пробовал это, но не работал, как я использую код Response.Write (""); –

Смежные вопросы