//方法
protected void CityBind(string provinceID)
{
List<ListItem> cityList = BLL.TypeEnum.AreaTypeAction.GetList();
List<string> sList = new List<string>();
foreach (ListItem cityType in cityList)
{
if (cityType.Value.IndexOf(","+provinceID+",")>=0)
{
sList.Add(cityType.Value);
}
}
StringBuilder html_cityType = new StringBuilder();
if (sList.Count > 0)
{
for (int i = 0; i < sList.Count; i++)
{
html_cityType.AppendFormat("<li id=\"{0}\">{1}</li>", sList[i], BLL.TypeEnum.CityTypeAction.GetNameByValue(sList[i]));
}
}
lit_city.Text = html_cityType.ToString();
}
//前台JS
<script language="javascript">
$(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
//<%=CityBind(id) %>; 如何在这里调用后台的方法,上面得到的id做为参数传过去 });
});
</script>
15 个解决方案
#1
不可以直接这样调用,创建xmlhttprequest请求,或使用ajax控件吧
baidu一下。。。
baidu一下。。。
#2
这样不能使用,建议使用ajax操作一般处理程序来弄一些简单的过程
#3
有没具体的方法来的,在网上百度了但是说的不是很清楚。
#4
xx.aspx里面
Page_Load
if(Request.QueryString["do"] == "CityBind")
CityBind(Request.QueryString["id"])
#5
LS上的不行哦。
#6
怎么不行啊
你怎么测试的
你怎么测试的
#7
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void CityBind(string provinceID)
{
System.IO.File.WriteAllText(Server.MapPath("~/Test" + provinceID + ".txt"), provinceID);
}
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["do"]!=null && Request.QueryString["do"] == "CityBind")
CityBind(Request.QueryString["id"]);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div id="pro_div">
<ul>
<li ID="A">AA</li>
<li ID="B">BB</li>
</ul>
</div>
</form>
<script language="javascript">
$(document).ready(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.get("<%= Request.FilePath%>?do=CityBind&id=" + id + "&nocache=" + (new Date()).valueOf());
});
});
</script>
</body>
</html>
注意防止缓存的nocache参数
#8
<script language="javascript">
$(document).ready(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.ajax({
url: "<%= Request.FilePath%>?do=CityBind&id=" + id,
cache: false
});
});
});
</script>
测试效果,到根目录下看生成了
TestA.txt
TestB.txt
文件
#9
这里alert一直弹出object,而不是后台返回给他的值,什么原因。
$(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.ajax({ type: "POST",
url: "index.aspx/CityBind",
data: "{'provinceID':"+id+"}",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.toString());
}
});
});
});
后台代码
[WebMethod]
public static string CityBind(string provinceID)
{
List<ListItem> cityList = BLL.TypeEnum.CityTypeAction.GetList();
List<string> sList = new List<string>();
foreach (ListItem cityType in cityList)
{
if (cityType.Value.IndexOf(provinceID)==0)
{
sList.Add(cityType.Value);
}
}
StringBuilder html_cityType = new StringBuilder();
if (sList.Count > 0)
{
for (int i = 0; i < sList.Count; i++)
{
html_cityType.AppendFormat("<li id=\"{0}\">{1}</li>", sList[i], BLL.TypeEnum.CityTypeAction.GetNameByValue(sList[i]));
}
}
return html_cityType.ToString();
}
$(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.ajax({ type: "POST",
url: "index.aspx/CityBind",
data: "{'provinceID':"+id+"}",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.toString());
}
});
});
});
后台代码
[WebMethod]
public static string CityBind(string provinceID)
{
List<ListItem> cityList = BLL.TypeEnum.CityTypeAction.GetList();
List<string> sList = new List<string>();
foreach (ListItem cityType in cityList)
{
if (cityType.Value.IndexOf(provinceID)==0)
{
sList.Add(cityType.Value);
}
}
StringBuilder html_cityType = new StringBuilder();
if (sList.Count > 0)
{
for (int i = 0; i < sList.Count; i++)
{
html_cityType.AppendFormat("<li id=\"{0}\">{1}</li>", sList[i], BLL.TypeEnum.CityTypeAction.GetNameByValue(sList[i]));
}
}
return html_cityType.ToString();
}
#10
按你上面说你的那个,是可以调用到CityBind方法了,在CityBind方法里面也给lit_city.Text= html_cityType.ToString();赋值了,但是为什么前台 <ul><asp:Literal ID="lit_city" runat="server"></asp:Literal></ul>中lit_city没值呢?
#11
百度很烂。建议使用谷歌。
#12
你要搞清楚问题
你的问题
后台代码:
//方法
protected void CityBind(string provinceID)
里面不是WebService方法
你下面怎么写成
[WebMethod]
public static string CityBind(string provinceID)
这是完全不同的
问问题要搞清楚,自己不懂就把自己说清楚。
你的问题
后台代码:
//方法
protected void CityBind(string provinceID)
里面不是WebService方法
你下面怎么写成
[WebMethod]
public static string CityBind(string provinceID)
这是完全不同的
问问题要搞清楚,自己不懂就把自己说清楚。
#13
http://dotnet.aspx.cc/file/Return-DataSet-DataTable-Using-jQuery-Ajax-WebMethod.aspx
#14
给你2种方法的源代码,直接拷贝粘贴就能运行,说的很清楚了
#15
webservice 返回void
#1
不可以直接这样调用,创建xmlhttprequest请求,或使用ajax控件吧
baidu一下。。。
baidu一下。。。
#2
这样不能使用,建议使用ajax操作一般处理程序来弄一些简单的过程
#3
有没具体的方法来的,在网上百度了但是说的不是很清楚。
#4
xx.aspx里面
Page_Load
if(Request.QueryString["do"] == "CityBind")
CityBind(Request.QueryString["id"])
#5
LS上的不行哦。
#6
怎么不行啊
你怎么测试的
你怎么测试的
#7
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void CityBind(string provinceID)
{
System.IO.File.WriteAllText(Server.MapPath("~/Test" + provinceID + ".txt"), provinceID);
}
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["do"]!=null && Request.QueryString["do"] == "CityBind")
CityBind(Request.QueryString["id"]);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div id="pro_div">
<ul>
<li ID="A">AA</li>
<li ID="B">BB</li>
</ul>
</div>
</form>
<script language="javascript">
$(document).ready(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.get("<%= Request.FilePath%>?do=CityBind&id=" + id + "&nocache=" + (new Date()).valueOf());
});
});
</script>
</body>
</html>
注意防止缓存的nocache参数
#8
<script language="javascript">
$(document).ready(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.ajax({
url: "<%= Request.FilePath%>?do=CityBind&id=" + id,
cache: false
});
});
});
</script>
测试效果,到根目录下看生成了
TestA.txt
TestB.txt
文件
#9
这里alert一直弹出object,而不是后台返回给他的值,什么原因。
$(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.ajax({ type: "POST",
url: "index.aspx/CityBind",
data: "{'provinceID':"+id+"}",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.toString());
}
});
});
});
后台代码
[WebMethod]
public static string CityBind(string provinceID)
{
List<ListItem> cityList = BLL.TypeEnum.CityTypeAction.GetList();
List<string> sList = new List<string>();
foreach (ListItem cityType in cityList)
{
if (cityType.Value.IndexOf(provinceID)==0)
{
sList.Add(cityType.Value);
}
}
StringBuilder html_cityType = new StringBuilder();
if (sList.Count > 0)
{
for (int i = 0; i < sList.Count; i++)
{
html_cityType.AppendFormat("<li id=\"{0}\">{1}</li>", sList[i], BLL.TypeEnum.CityTypeAction.GetNameByValue(sList[i]));
}
}
return html_cityType.ToString();
}
$(function () {
$("#pro_div ul li").click(function (event) {
var id = $(this).attr("ID");
$.ajax({ type: "POST",
url: "index.aspx/CityBind",
data: "{'provinceID':"+id+"}",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data.toString());
}
});
});
});
后台代码
[WebMethod]
public static string CityBind(string provinceID)
{
List<ListItem> cityList = BLL.TypeEnum.CityTypeAction.GetList();
List<string> sList = new List<string>();
foreach (ListItem cityType in cityList)
{
if (cityType.Value.IndexOf(provinceID)==0)
{
sList.Add(cityType.Value);
}
}
StringBuilder html_cityType = new StringBuilder();
if (sList.Count > 0)
{
for (int i = 0; i < sList.Count; i++)
{
html_cityType.AppendFormat("<li id=\"{0}\">{1}</li>", sList[i], BLL.TypeEnum.CityTypeAction.GetNameByValue(sList[i]));
}
}
return html_cityType.ToString();
}
#10
按你上面说你的那个,是可以调用到CityBind方法了,在CityBind方法里面也给lit_city.Text= html_cityType.ToString();赋值了,但是为什么前台 <ul><asp:Literal ID="lit_city" runat="server"></asp:Literal></ul>中lit_city没值呢?
#11
百度很烂。建议使用谷歌。
#12
你要搞清楚问题
你的问题
后台代码:
//方法
protected void CityBind(string provinceID)
里面不是WebService方法
你下面怎么写成
[WebMethod]
public static string CityBind(string provinceID)
这是完全不同的
问问题要搞清楚,自己不懂就把自己说清楚。
你的问题
后台代码:
//方法
protected void CityBind(string provinceID)
里面不是WebService方法
你下面怎么写成
[WebMethod]
public static string CityBind(string provinceID)
这是完全不同的
问问题要搞清楚,自己不懂就把自己说清楚。
#13
http://dotnet.aspx.cc/file/Return-DataSet-DataTable-Using-jQuery-Ajax-WebMethod.aspx
#14
给你2种方法的源代码,直接拷贝粘贴就能运行,说的很清楚了
#15
webservice 返回void