使用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")%>)"/>
这个是调用的方法
展开
 我来答
duyayu1987
推荐于2017-11-23 · 超过24用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:63.1万
展开全部
用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里是可行的,版本低的话,可能不能直接这么调用
你是谁LCqTt
2010-12-24 · TA获得超过602个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:847万
展开全部
用AJAX吧,你可以用AjaxPro这个组件。

楼主,<%=Delete(“'+comid+'”) %>这种形式是在页面加载的时候就会执行的,并不是在你调用js方法的时候才执行,所以达不到你想要的效果。
我想你说的不能AJAX是指不能用现成AJAX框架吧,你可以用原生的AJAX嘛,就是XMLHttpRequest。
1.新建一个ashx,用于专门处理删除的请求。
2.通过XMLHttpRequest向新建的ashx页面发送请求。
对了,jquery也可以,很方便的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
原听然015
2010-12-23 · TA获得超过2414个赞
知道小有建树答主
回答量:1390
采纳率:100%
帮助的人:1124万
展开全部
function Init()
{
var v = "01"; //需要往方法里面传的ID
var s = '<%=Delete("'+v+'") %>';
alert(s);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gdi0722
2010-12-23 · 超过13用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:31.7万
展开全部
JS调用后台方法只能用Ajax
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a290349220
2010-12-23
知道答主
回答量:45
采纳率:0%
帮助的人:9.8万
展开全部
为什么不能用ajax?楼主说明白点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式