2010-05-10 22 views

Trả lời

11

Hãy xem xét chức năng mailto là một chức năng cần xảy ra phía máy khách. Bạn sẽ cần javascript để làm điều đó. Tùy thuộc vào thời điểm bạn muốn mailto xảy ra, bạn có hai lựa chọn.

Nếu bạn muốn nó xảy ra càng sớm càng LinkButton được nhấp sau đó chỉ cần thêm vào 's LinkButtonOnClientClick sự kiện:

<asp:LinkButton runat="server" ID="btnEmail" Text="Send Email" 
    OnClientClick="window.open('mailto:[email protected]','email');"> 
</asp:LinkButton> 

Nếu bạn muốn nó xảy ra sau khi mã phía máy chủ đã chạy là của bạn sẽ có dây lên sự kiện javascript để chạy khi trang mới khởi động:

// At the end of your LinkButton server side OnClick event add the following code: 
ClientScript.RegisterStartupScript(this.GetType(), "FormLoading", 
    "window.open('mailto:[email protected]','email');", true); 

Hy vọng điều đó sẽ hữu ích.

+0

tốt, có một nếu tuyên bố rằng cần phải thực thi trong mã LinkButtons phía sau, do đó, điều này (bắt đầu một email mới) sẽ phải ở trong mã phía sau như là một điều kiện "khác"; – user279521

+0

Nó hoạt động !! Nhưng bạn đã biết điều đó :-) – user279521

0

Tôi đã thực hiện việc này bằng sự kiện OnClientClick của LinkButton.

Bạn có thể sử dụng:

<asp:LinkButton runat="server" ID="btnEmail" Text="Send Email" 
    OnClientClick="window.location.href = 'mailto:[email protected]?subject=Email Subject';"> 
</asp:LinkButton> 

Bạn cũng có thể làm điều này trong mã, trong trường hợp bạn cần phải tải một địa chỉ email từ một cơ sở dữ liệu hoặc một cái gì đó:

btnEmail.OnClientClick = "window.location.href = 'mailto:[email protected]?subject=Email Subject';";