使用JS如何调用ASP.NET的后台方法?
后台有方法:publicstringDelete(stringcomId){try{strings=string.Empty;CTICompanyInfocompany=...
后台有方法:
public string Delete(string comId)
{
try
{
string s = string.Empty;
CTICompanyInfo company = new CTICompanyInfo();
company = CTICompanyInfo.Find(Convert.ToInt32(comId));
CTIUser user = new CTIUser();
company.CTIUser.IsValid = false;
company.IsValid = false;
company.Update();
return "true";
}
catch (Exception)
{
return "false";
};
前台JS如何写?用什么控件?需要往方法里面传ID的参数的。
要能用AJAX我早就用啦各位老大。。2楼,你的方法怎么穿不进去值啊
function delcheck(id) {
var comid = id;
if(window.confirm("删除公司信息将会删除相对应的用户信息,是否删除?"))
{
var a = '<%=Delete(“'+comid+'”) %>';
if (a == "true") {
alert("删除成功!");
location.href = "EnterpriseList.aspx";
} else {
alert("删除失败!");
location.href = "EnterpriseList.aspx";
}
}
return false;
}
var a = '<%=Delete(“'+comid+'”) %>'; 这样写的时候,后台方法传入得不是ID。。。是 +comid+ 这个东西。
改成了var a = '<%=Delete('+comid+' ) %>';还是不行,说没有找到。能告诉我下怎么弄吗?
<input id="Button1" type="button" value="删除" onclick="javascript: delcheck(<%# Eval("CompanyInfoID")%>)"/>
这个是调用的方法 展开
public string Delete(string comId)
{
try
{
string s = string.Empty;
CTICompanyInfo company = new CTICompanyInfo();
company = CTICompanyInfo.Find(Convert.ToInt32(comId));
CTIUser user = new CTIUser();
company.CTIUser.IsValid = false;
company.IsValid = false;
company.Update();
return "true";
}
catch (Exception)
{
return "false";
};
前台JS如何写?用什么控件?需要往方法里面传ID的参数的。
要能用AJAX我早就用啦各位老大。。2楼,你的方法怎么穿不进去值啊
function delcheck(id) {
var comid = id;
if(window.confirm("删除公司信息将会删除相对应的用户信息,是否删除?"))
{
var a = '<%=Delete(“'+comid+'”) %>';
if (a == "true") {
alert("删除成功!");
location.href = "EnterpriseList.aspx";
} else {
alert("删除失败!");
location.href = "EnterpriseList.aspx";
}
}
return false;
}
var a = '<%=Delete(“'+comid+'”) %>'; 这样写的时候,后台方法传入得不是ID。。。是 +comid+ 这个东西。
改成了var a = '<%=Delete('+comid+' ) %>';还是不行,说没有找到。能告诉我下怎么弄吗?
<input id="Button1" type="button" value="删除" onclick="javascript: delcheck(<%# Eval("CompanyInfoID")%>)"/>
这个是调用的方法 展开
展开全部
用jquery的ajax就可以的,实例如下:
<script src="Jquery/jquery-1.4.2-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btnOK").click(function() {
$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "AjaxPage.aspx/ABC",
data: "{abc:111}", //带参数的,参数名称abc,参数“111”
//date:"{}",//没有参数的初始化
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data.d);
}
});
});
});
</script>
<body>
<form id="form1" runat="server">
<asp:Button ID="btnOK" runat="server" Text="ShowText" />
</form>
</body>
后台:引入using System.Web.Services;
[WebMethod]
public static string ABC(string abc) //带参数的方法
{
return abc;
}
webconfig下得有如下配置节:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
这个在vs2008里是可行的,版本低的话,可能不能直接这么调用
<script src="Jquery/jquery-1.4.2-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btnOK").click(function() {
$.ajax({
//要用post方式
type: "POST",
//方法所在页面和方法名
url: "AjaxPage.aspx/ABC",
data: "{abc:111}", //带参数的,参数名称abc,参数“111”
//date:"{}",//没有参数的初始化
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
//返回的数据用data.d获取内容
alert(data.d);
}
});
});
});
</script>
<body>
<form id="form1" runat="server">
<asp:Button ID="btnOK" runat="server" Text="ShowText" />
</form>
</body>
后台:引入using System.Web.Services;
[WebMethod]
public static string ABC(string abc) //带参数的方法
{
return abc;
}
webconfig下得有如下配置节:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
这个在vs2008里是可行的,版本低的话,可能不能直接这么调用
展开全部
用AJAX吧,你可以用AjaxPro这个组件。
楼主,<%=Delete(“'+comid+'”) %>这种形式是在页面加载的时候就会执行的,并不是在你调用js方法的时候才执行,所以达不到你想要的效果。
我想你说的不能AJAX是指不能用现成AJAX框架吧,你可以用原生的AJAX嘛,就是XMLHttpRequest。
1.新建一个ashx,用于专门处理删除的请求。
2.通过XMLHttpRequest向新建的ashx页面发送请求。
对了,jquery也可以,很方便的。
楼主,<%=Delete(“'+comid+'”) %>这种形式是在页面加载的时候就会执行的,并不是在你调用js方法的时候才执行,所以达不到你想要的效果。
我想你说的不能AJAX是指不能用现成AJAX框架吧,你可以用原生的AJAX嘛,就是XMLHttpRequest。
1.新建一个ashx,用于专门处理删除的请求。
2.通过XMLHttpRequest向新建的ashx页面发送请求。
对了,jquery也可以,很方便的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function Init()
{
var v = "01"; //需要往方法里面传的ID
var s = '<%=Delete("'+v+'") %>';
alert(s);
}
{
var v = "01"; //需要往方法里面传的ID
var s = '<%=Delete("'+v+'") %>';
alert(s);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JS调用后台方法只能用Ajax
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么不能用ajax?楼主说明白点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询