在WebMethod中访问runat =“server”控件ID
HTML代码是
function ajaxcall() { $.ajax({ type: "POST", url: "index.aspx/lvimgclick", contentType: "application/json; charset=utf-8", data: JSON.stringify({ value: "test" }), dataType: "json", }); }; // calling script
.cs代码
[WebMethod] public static string lvimgclick() { return "hi"; } protected void lvimg1_Click(object sender, EventArgs e) { lvlink1.CssClass = "lv-under"; lvimg1.ImageUrl = "~/images/1.jpg"; lvlink2.CssClass = "lv-under"; lvimg2.ImageUrl = "~/images/spacer.gif"; lvlink3.CssClass = "lv-under"; lvimg3.ImageUrl = "~/images/spacer.gif"; lvlink4.CssClass = "lv-under"; lvimg4.ImageUrl = "~/images/spacer.gif"; }
想要的是:
[WebMethod] public static string lvimgclick() { lvimg1_Click(null, null); return "hi"; }
要么
[WebMethod] public static string lvimgclick() { lvlink1.CssClass = "lv-under"; lvimg1.ImageUrl = "~/images/1.jpg"; lvlink2.CssClass = "lv-under"; lvimg2.ImageUrl = "~/images/spacer.gif"; lvlink3.CssClass = "lv-under"; lvimg3.ImageUrl = "~/images/spacer.gif"; lvlink4.CssClass = "lv-under"; lvimg4.ImageUrl = "~/images/spacer.gif"; return "hi"; }
该怎么办? 还必须使用lvimg1_Click(null,null); 和lvlink1.CssClass =“lv-under1”; 在很多function上都不是webmethod
如果您使用jquery,您可以在下面执行
$.ajax({ type: "POST", url: "index.aspx/lvimgclick", contentType: "application/json; charset=utf-8", data: JSON.stringify({ value: "test" }), dataType: "json", success:function(result){ if(result.cssclass) { $('#<%= lvlink1.ClientID %>').addClass(result.cssclass); } } });
在WebMethod中
public class CustomResult { public string output{ get; set; } public string cssclass{ get; set; } } [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public static CustomResult lvimgclick() { var result=new CustomResult{output="hi", cssclass="lv-under1"} return result; }
注意:
有时您可能需要使用d
来访问数据,这是由框架添加的。 比如result.d.cssclass
编辑:
如果您想更新多个链接按钮,请在aspx中为其定义一个公共css类。
然后在你的ajax调用的成功回调中使用类选择器和更新。
success:function(result){ if(result.cssclass) { $('a.menu').addClass(result.cssclass); } }
- POST Json没有模型和Ajax
- jQuery触发器单击 – 请求中没有按钮值
- Asp .NET Button – OnClientClick =“return function()”vs OnClientClick =“function()”
- 为什么在asp.net中需要RegisterStartupScript来实现简单的jquery helloworld?
- 如何使用JQuery或Javascript导出到CSV数据
- 如何在javascript中选择包含特定字符串的所有id标签?
- 你能用Javascript来检测服务器端创建的文件下载窗口吗?
- 在jquery ajax错误回调中捕获错误?
- 将数组传递给jquery ajax后面的代码