我想从传递字符串值的javascript函数调用asp.net函数。
这是asp.net函数:
[System.Web.Services.WebMethod]
public static string InsertData(string ID)
{
string source = "Data Source=(LocalDB)\v11.0;Integrated Security=True;Connect Timeout=30";
using(SqlConnection con = new SqlConnection(source))
{
using (SqlCommand cmd = new SqlCommand("Insert into Book (Name) values(@Name)", con)) {
con.Open();
cmd.Parameters.AddWithValue("@Name", ID);
cmd.ExecuteNonQuery();
return "True";
}
}
}
所以我想从javascript函数调用这个函数,它传递字符串值" ID"到asp.net函数。
这是我使用的javascript函数
function CallMethod() {
PageMethods.InsertData("hello", CallSuccess, CallError);
}
function CallSuccess(res) {
alert(res);
}
function CallError() {
alert('Errorrr');
}
我从这里叫它
<body>
<header>
</header>
<div class="table" id="div1" > </div>
<form id="Form1" runat="server">
<asp:Button id="b1" Text="Submit" runat="server" onclientclick="CallMethod();return false;"/>
<asp:ScriptManager enablepagemethods="true" id="ScriptManager1" runat="server"></asp:ScriptManager>
</form>
</body>
所以我有一个按钮和onClick我想添加&#34;你好&#34;排到我的表但没有任何反应,CallError函数调用
答案 0 :(得分:1)
您可以在javascript中通过 ajax调用调用web方法。您需要将 url参数值设置为要调用的函数,并且可以在json formate中的数据参数中传递值。
像这样data:"{ParamterName:'VALUE'}
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "POST",
url: "YourPage.aspx/YouPageMethod",
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
alert('Method Called Sucess fully');
},
error: function (result) {
alert("error " + result);
}
});
});
</script>
OR
您可以使用 PageMethod Eample
进行通话 <script type="text/javascript">
function callInsert() {
PageMethods.InsertDate(id, OnSucceeded, OnFailed);
}
function OnSucceeded(response) {
alert(response);
}
function OnFailed(error) {
alert(error);
}
/* call this javascript function */
callInsert();
</script>
答案 1 :(得分:0)
您需要先在页面中包含Jquery。然后,您需要添加以下Javascript代码。
<script type="text/javascript">
var id ="5"; //your id will be stored here
$(document).ready(function () {
$.ajax({
type: "POST",
url: "YourPage.aspx/InsertData" + "&?id=" ,
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
alert('Success');
},
error: function (xhr, request, status) {
alert(xhr.responseText);
}
});
});
</script>
答案 2 :(得分:0)
您需要在.aspx页面中使用scriptManager
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
之后,您可以使用
调用该方法 <script type="text/javascript">
function func(){
PageMethods.InsertData(id,success_msg,failure_msg);
}
</script>