2014-12-17 4 views
0

그래서 "place order"버튼이있는 웹 사이트가 있고 그 위에는 각 제품에 대한 수량을 설정할 수있는 제품 및 텍스트 상자 목록이 있습니다.프로그래밍 방식으로 mailto

버튼을 클릭하면 다시 게시되고 각 제품의 수를 계산 한 다음 앞면에 "mailto : [email protected]"과 함께 큰 문자열로 넣습니다. 나는 이제 어떻게 든 포스트 백이 끝날 때 클라이언트에 자동으로 팝업되도록하려고합니다.

나는 window.open을 시도했지만, 피하려고하는 새 브라우저 창이 열립니다.

버튼 게시 코드 :

protected void btnPlaceOrder_Click(object sender, EventArgs e) 
     { 
      string url = "mailto:[email protected]?subject=New order from " + ddlSelectLocation.SelectedItem.Value; 
      url += "&body=Please raise a new order for the following items:" + Environment.NewLine; 
      foreach (GridViewRow row in grdOrder.Rows) 
      { 
       string model = row.Cells[0].Text; 
       int qty = 0; 
       TextBox txt = (TextBox)row.Cells[3].Controls[1]; 
       if (int.TryParse(txt.Text, out qty)) 
       { 
        if (qty > 0) 
         url += " - " + model + ": " + qty.ToString() + Environment.NewLine; 
       } 
      } 
      url += Environment.NewLine + "Many Thanks."; 

      Response.Write(url); 
     } 

그렇지 않으면 내가

+1

window.op 대신 document.window를 사용하십시오. en – prospector

+0

그래도 내 현재 창보기의 내용을 제거 할 수 있습니까? –

답변

1

당신이 이런 식으로 뭔가를 시도 할 수 자바 스크립트 코드 :(클라이언트 측의 부하를 작성해야거야

Page.ClientScript.RegisterStartupScript(this.GetType(), 
     "MAIL", 
     "window.open('" + url + "')", 
     true); 

문자열이 올바르게 이스케이프 처리되었는지 확인해야합니다.

+0

"window.open을 사용해 보았지만 피할 수있는 새 브라우저 창이 열립니다"- 잘못된 매개 변수를 전달합니까? –

+0

잘 모르겠습니다 ... 저는 이것을 내 옆에 유선으로 게시하고 포스트 백 이후에 즉시 내 이메일 클라이언트를 열었습니다 ... (브라우저 확인 상자 다음에). 아마 브라우저 내에서 개인화 된 설정이어야합니까? – Spock

+0

당신이 시도 할 수있는 유일한 다른 방법은 숨겨진 iframe을 mailto : 주소로 이동하는 것입니다. 그러나 나는 그것이 무엇을 할 것인지 잘 모르겠습니다. 시도해볼 만하니? – Spock