var ID = parseInt(objCol.title);
var str = '<%=DisplayDetails("'+ID+'") %>';
后台代码:
public string DisplayDetails(int id)
{
}
总是报错,参数格式不正确, 求解
19 个解决方案
#1
试试 var str = '<%=DisplayDetails('+ID+') %>'
#2
错误:字符文本中的字符太多
#3
請用 ajax來做
#4
var ID = parseInt(objCol.title);
alert(ID);
var str = <%= DisplayDetails("'+ID+'") %>;
alert(ID);
var str = <%= DisplayDetails("'+ID+'") %>;
#5
建议你 后台参数设为string 类型 传过去 后台转为int类型
试试
public string DisplayDetails(string id)
{
int idd=Convert.ToInt32(id);
}
试试
public string DisplayDetails(string id)
{
int idd=Convert.ToInt32(id);
}
#6
这样写,您试过吗,去试试看
#7
后台的参数设为string,也不行啊
#8
LZ,仔细想了想,ajax前台应该是没办法给后台传值的.这段代码应该在页面被load前就已经被服务器执行了
var str = '<%=DisplayDetails("'+ID+'") %>'
所以要么直接在后台取objCol.title,要么用ajax
var str = '<%=DisplayDetails("'+ID+'") %>'
所以要么直接在后台取objCol.title,要么用ajax
#9
var id = '123456';
var d = '<%=test("'+id+'") %>'
alert(d);
CS代码
public string test(string id)
{
return "Hello" + id.ToString();
}
结果弹出 Hello123456
#10
最近总是看到这个问题,成吉思汗!!!
#11
<%= %> 这个虽然写在客户端,但它是服务器端的东西。你方法 DisplayDetails("'+ID+'")里的参数id是客户端的变量,这里它是一个字符串:'+ID+'
#12
后台方法加public static
加上[System.Web.Services.WebMethod]
前台用AJAX调用。
加上[System.Web.Services.WebMethod]
前台用AJAX调用。
var params = '{str:"'+$(this).val()+'"}'; //参数,参数名要和后台方法名字一样
$.ajax({
type: "POST",
url: "页面/方法名",
data: params,
dataType: "text",
contentType: "application/json; charset=utf-8",
success: function(msg) { //msg就是方法返回值
//这里是请求成功做的操作
},
error: function(xhr, msg, e) {
这里是失败了
}
});
#13
在前台增加一个HiddenField控件,js中将值赋给该控件的value,然后后台调用HiddenField控件的值,呵呵,有点麻烦
#14
首先自我检讨下 呵呵 我只弹出来结果是正确的 但在CS代码里没去调试 在CS里id就如 ch_weni 兄所说的 带过去的只是个ID 所以从本质上解决不了问题
看来还真的得用ajaxpro之类的了
#15
用隐藏控件 先接收值 然后 后台读取
你竟然<%这块区域只能写后台代码段%>
你脑袋糊涂了吧 竟然把前台的东西 写到这个区域
1:用隐藏控件
2:用AJAX
不要在执迷不悟了 行不行呀
你竟然<%这块区域只能写后台代码段%>
你脑袋糊涂了吧 竟然把前台的东西 写到这个区域
1:用隐藏控件
2:用AJAX
不要在执迷不悟了 行不行呀
#16
解决问题 快速给分
#17
用隐藏控件 先接收值 然后 后台读取
要不就用Ajax
要不就用Ajax
#18
晕死,搞不清楚先后顺序了吧。
C#在解析这段代码的时候,JS还没有解析呢,JS是在客户端才解析的,也就是说服务器端串好html后发送到客户
端才执行。你在C#解析的阶段用个JS变量'id'想干啥啊?
C#在解析这段代码的时候,JS还没有解析呢,JS是在客户端才解析的,也就是说服务器端串好html后发送到客户
端才执行。你在C#解析的阶段用个JS变量'id'想干啥啊?
#19
居然是无满意答案结贴。。
#20
#1
试试 var str = '<%=DisplayDetails('+ID+') %>'
#2
错误:字符文本中的字符太多
#3
請用 ajax來做
#4
var ID = parseInt(objCol.title);
alert(ID);
var str = <%= DisplayDetails("'+ID+'") %>;
alert(ID);
var str = <%= DisplayDetails("'+ID+'") %>;
#5
建议你 后台参数设为string 类型 传过去 后台转为int类型
试试
public string DisplayDetails(string id)
{
int idd=Convert.ToInt32(id);
}
试试
public string DisplayDetails(string id)
{
int idd=Convert.ToInt32(id);
}
#6
这样写,您试过吗,去试试看
#7
后台的参数设为string,也不行啊
#8
LZ,仔细想了想,ajax前台应该是没办法给后台传值的.这段代码应该在页面被load前就已经被服务器执行了
var str = '<%=DisplayDetails("'+ID+'") %>'
所以要么直接在后台取objCol.title,要么用ajax
var str = '<%=DisplayDetails("'+ID+'") %>'
所以要么直接在后台取objCol.title,要么用ajax
#9
var id = '123456';
var d = '<%=test("'+id+'") %>'
alert(d);
CS代码
public string test(string id)
{
return "Hello" + id.ToString();
}
结果弹出 Hello123456
#10
最近总是看到这个问题,成吉思汗!!!
#11
<%= %> 这个虽然写在客户端,但它是服务器端的东西。你方法 DisplayDetails("'+ID+'")里的参数id是客户端的变量,这里它是一个字符串:'+ID+'
#12
后台方法加public static
加上[System.Web.Services.WebMethod]
前台用AJAX调用。
加上[System.Web.Services.WebMethod]
前台用AJAX调用。
var params = '{str:"'+$(this).val()+'"}'; //参数,参数名要和后台方法名字一样
$.ajax({
type: "POST",
url: "页面/方法名",
data: params,
dataType: "text",
contentType: "application/json; charset=utf-8",
success: function(msg) { //msg就是方法返回值
//这里是请求成功做的操作
},
error: function(xhr, msg, e) {
这里是失败了
}
});
#13
在前台增加一个HiddenField控件,js中将值赋给该控件的value,然后后台调用HiddenField控件的值,呵呵,有点麻烦
#14
首先自我检讨下 呵呵 我只弹出来结果是正确的 但在CS代码里没去调试 在CS里id就如 ch_weni 兄所说的 带过去的只是个ID 所以从本质上解决不了问题
看来还真的得用ajaxpro之类的了
#15
用隐藏控件 先接收值 然后 后台读取
你竟然<%这块区域只能写后台代码段%>
你脑袋糊涂了吧 竟然把前台的东西 写到这个区域
1:用隐藏控件
2:用AJAX
不要在执迷不悟了 行不行呀
你竟然<%这块区域只能写后台代码段%>
你脑袋糊涂了吧 竟然把前台的东西 写到这个区域
1:用隐藏控件
2:用AJAX
不要在执迷不悟了 行不行呀
#16
解决问题 快速给分
#17
用隐藏控件 先接收值 然后 后台读取
要不就用Ajax
要不就用Ajax
#18
晕死,搞不清楚先后顺序了吧。
C#在解析这段代码的时候,JS还没有解析呢,JS是在客户端才解析的,也就是说服务器端串好html后发送到客户
端才执行。你在C#解析的阶段用个JS变量'id'想干啥啊?
C#在解析这段代码的时候,JS还没有解析呢,JS是在客户端才解析的,也就是说服务器端串好html后发送到客户
端才执行。你在C#解析的阶段用个JS变量'id'想干啥啊?
#19
居然是无满意答案结贴。。