2010-05-25 48 views
0

这是我已经实现,为进一步的代码,如何发送文本框的文本到服务器存储在变量或数据库中没有回发?如何使用JavaScript发送短信以避免回传?

它可以通过使用Ajax和更新平面来完成,但我想使用JavaScript脚本来实现它。

<div id="CommentID" style=" width:30%; height:30%"> 
    <asp:Button ID="Button1" runat="server" 
     Text="Comment" 
     OnClientClick="visibleDiv('id1'); return false;" /> 

    <div id="id1" runat="server" style="visibility: hidden; background-color:Green; width:100%; height:100%"> 
     <asp:TextBox ID="TextBox1" runat="server" 
      AutoCompleteType="Disabled" Rows="3" 
      TextMode="MultiLine" Width="98%"> 
     </asp:TextBox> 
     <asp:Button ID="Button2" runat="server" 
      Text="Post" 
      onclick="Button2_Click" /> 
     <asp:Button ID="Button3" runat="server" 
      Text="Cancel" 
      OnClientClick="visibleDiv('id1'); return false;" /> 
    </div> 
</div> 

回答

1

跳过了jQuery,只需添加使用PageMethod

这将暴露在JavaScript中的静态服务器端方法,并促进所有Ajax的东西

给你的代码添加后面

[System.Web.Services.WebMethod] 
public static string SendString(string text) { 
    // store the string in the database 
    return text; 
} 

添加您的标记的脚本管理员

<form runat="server"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"/> 
    ... 

现在您可以使用JavaScript调用SendString

PageMethods.SendString("mystring", function(text){ 
    alert("wooot! " + text); 
}); 

另请注意,您可以使用强类型参数和返回值。
ASP.NET AJAX会自动在JavaScript中模拟服务器端制作相应的客户端类,并会自动进行序列化和反序列化他们:)

+0

thnks did you urt code says 012rbut错误请检查它,因为我不知道它是什么意思? – user287745 2010-05-25 19:45:39

+0

user287745 2010-05-25 19:46:57

+0

public partial class _Default:System.Web.UI 。页 { [System.Web.Services。的WebMethod] 公共静态字符串SendString(文本串) { //存储字符串在数据库 } 保护无效的Page_Load(对象发件人,EventArgs的) { } – user287745 2010-05-25 19:47:22

0

我建议你使用jQuery:

<asp:Button ID="Button1" runat="server" 
     Text="Comment" 
     OnClientClick="$.post("you_url", {text: $("#TextBox1").val()});"/> 

详见http://api.jquery.com/jQuery.post/

+0

谢谢我检查出来 – user287745 2010-05-25 19:06:53

+0

我一定要下载 juery? – user287745 2010-05-25 19:08:40

+0

是的。或者您可以使用他们的CDN: 2010-05-25 19:11:43