2013-06-19 2 views
0

작동하지 않습니다, 그것은있는 gridview의 RowCommand 이벤트에 해고 :는 자바 스크립트 코드를 Response.Write를하지만 내가 그런 클라이언트에서 자바 스크립트를 실행하는 코드 숨김에서 Response.Write를 사용

protected void RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    var index = int.Parse(e.CommandArgument.ToString()); 
    var val = gvwCus.DataKeys[index][0].ToString(); 
    PopupWindow("../Main/Detail.aspx?idc=" + val,900.ToString(),600.ToString()); 
} 
private void PopupWindow(string query, string width, string height) 
{ 
    var re = "<script language=\"javascript\">var left=(screen.width/2)-(" + width +"/2); var top=(screen.height/2)-(" + height + "/2); window.open(" + query +",'PopUp','toolbar=no, location=0, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=" + width + ", height=" + height + ",top=' + top + ',left=' + left);</script>"; 
    Response.Write(re); 
} 

내가 쓴 클라이언트에서 동일한 코드를 실행해도 괜찮습니다.하지만 코드 뒤에는 작동하지 않습니다.

답변

1

스크립트를 작성할 때 query을 따옴표로 묶지 않았습니다. 대신 응답

... window.open('" + query +"','PopUp', ... 
+0

감사를 사용! 괜찮아. – PhamMinh

0

은 .RegisterStartupScript

string script="var left=(screen.width/2)-(" + width +"/2); var top=(screen.height/2)-(" + 
height + "/2); window.open(" + query +",'PopUp','toolbar=no, location=0, directories=no, 
status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=" + width + ", 
height=" + height + ",top=' + top + ',left=' + left);" 

ScriptManager.RegisterStartupScript(this, this.GetType(), "myalert", "script", true);