asp.net 如何使用JavaScript发送短信以避免回发?

l7wslrjt  于 2023-10-21  发布在  .NET
关注(0)|答案(2)|浏览(133)

这是我已经实现的,对于进一步的代码,如何将文本框的文本发送到服务器存储在变量或数据库中而不回发?
它可以通过使用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>
jdzmm42g

jdzmm42g1#

跳过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中创建客户端类来模拟服务器端类,并将自动序列化和重新序列化它们:)

pb3skfrl

pb3skfrl2#

我建议你使用jQuery:

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

详情请参见http://api.jquery.com/jQuery.post/

相关问题