我有一个带有“下订单”按钮的网站,上面是一个产品和文本框列表,允许我为每个产品设置数量。
点击按钮后,它会回发并计算每件产品需要多少,然后我将它放在一个大字符串中,前面是“mailto:order@blah.com”。我现在想以某种方式让它在回发结束时自动弹出到客户端。
我尝试过window.open,但这也打开了一个我想避免的新浏览器窗口。
按钮回发代码:
protected void btnPlaceOrder_Click(object sender, EventArgs e)
{
string url = "mailto:orders@blah.com?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);
}
否则我将不得不写一堆客户端javascript代码:(
答案 0 :(得分:1)
你能尝试这样的事吗?
Page.ClientScript.RegisterStartupScript(this.GetType(),
"MAIL",
"window.open('" + url + "')",
true);
您必须确保字符串已正确转义...