2012-07-03 58 views
0

我试图从jscript传递参数到后面的代码,但它不工作。 我的代码:如何将参数从javascript传递给代码?

[C#]

[WebMethod] 
public static String sendEmail(String str) 
{ 
    ... 
    msg.body = str; 
    ... 
    return str; 
} 

[JScript中]

如果我使用功能的提醒,它返回null

function onOkClickButton() 
{ 
    var content = "Hello"; 
    alert("<%=sendEmail(" + content + ")%>"); 
} 

如果我使用PageMethod的,我的电子邮件的身体null

<asp:ScriptManager enablePageMethods="true"></asp:ScriptManager> 
function onOkClickButton() 
{ 
    var content = "Hello"; 
    PageMethods.sendEmail(content, onSuccess, onError); 
} 
function onSuccess(text) 
{ 
    alert(text) 
} 

function onError(text) 
{ 
    alert(text) 
} 

你能帮我吗? 感谢先进!

+0

你有没有做过这样的: fenix2222

回答

0

jQuery的阿贾克斯将是最简单的方法,IMO:

function onOkClickButton() 
{ 
    var content = "Hello"; 

    $.ajax({ 
     type: "POST", 
     url: "urlToPageHostingSendEmail.aspx/sendEmail", 
     data: { str: content } 
    }).success(function(msg) { 
     alert(msg); 
    }); 
} 
+0

谢谢 函数sendEmail被放置在MasterPage中。 但是,当我设置网址:“MasterPage.master.aspx/sendEmail”,它不起作用。 –

+0

让它在主页面让我觉得很肮脏,我不是100%肯定它会工作,但它可能很好。我目前无法测试它。 [此页面是在ASP.NET应用程序中正确配置WebMethods的好资源](http://geekswithblogs.net/frankw/archive/2008/03/13/asp.net-ajax-callbacks-to-web-methods-在-ASPX-pages.aspx) –

相关问题