请阅读底部的更新。
我创建了一个页面方法,它发送一封包含联系表单信息的电子邮件。该表单在颜色框窗口中启动,并且该表单是它自己的 .aspx 页面。
我可以调用 page 方法,但它出错了,即使我将它作为字符串返回,我似乎也无法打印实际的异常。
页面方法的总结是
[WebMethod]
public static string SendEmail(string name, string email, string message)
{
try
{
// send the email
return "success";
}
catch(Exception ex)
{
return ex.ToString();
}
}
CLIENT CODE:
<script type="text/javascript">
// add event handler for submit button
$addHandler($get('SendEmailPageMethod'), 'click', EmailPageMethod);
function EmailPageMethod() {
var name = $get('name').value;
var email = $get('email').value;
var message = $get('message').value;
// call pagemethod sending form data
PageMethods.SendEmail(name, email, message, SendEmailCallback, ErrorCallback);
}
function SendEmailCallback(resultString) {
alert(resultString);
}
function ErrorCallback(error) {
alert(error.get_message());
}
</script>
似乎每次都会调用 errorcallback 函数,但 error.get_message 只是告诉我 pagemethod 失败。
我试过了
function SendEmailCallback(resultString) {
alert(resultString);
}
但它只是说[对象对象]。
我也试过
function SendEmailCallback(resultString) {
alert(String(resultString));
}
但它仍然显示 [object Object]。
有没有办法可以打印整个异常以查看发生了什么?我对页面方法很陌生,所以我在这里碰壁了。
谢谢。
更新 - 当我按下提交时出现此错误。
我收到了这个错误:
POST
http://localhost:1427/PortfolioWebsite/ContactForm.aspx/SendEmail 404 (Not Found) (program):5
Sys.Net.XMLHttpExecutor.executeRequest (program):5
Sys.Net._WebRequestManager.executeRequest (program):5
Sys.Net.WebRequest.invoke (program):5
Sys.Net.WebServiceProxy.invoke (program):5
Sys.Net.WebServiceProxy._invoke (program):5
PageMethods.SendEmail (program):16
PageMethods.SendEmail (program):34
EmailPageMethod (program):11
b
是不是找不到实际的页面方法?