如何将变量传递给c#函数? 假设:
<script>
var myValue;
function setValue(idriga) {
myValue = idriga;
}
function getValue() {
return myValue;
}
</script>
这是一个设置和获取价值的脚本。如何在不调用aspx页面并传递参数的情况下将myValue
值传递给ac#函数代码,但是从aspx传递到aspx.cs,从aspx.cs传递到aspx以显示从c#方法返回的值(示例搜索)值到db并返回其他值?)
我的函数c#是:
protected string SearchUserByGuid(Guid area) {
return (from us in contextDB.AREAS
where us.ID_AREAS == area
select us.USER_NAME).Single();
}
答案 0 :(得分:2)
我不确定我完全明白你的要求,但如果我这样做,那就 。
可以做的是使用AJAX从JavaScript调用服务器端方法。此服务器端方法可以是静态[WebMethod]
或WebAPI方法(如果您使用ASP.NET MVC或者如果您有WebAPI项目)。
有关使用AJAX(和jQuery)调用WebMethods的更多信息:http://deebujacob.blogspot.be/2012/01/aspnet-ajax-web-method-call-using.html
有关Web API的更多信息:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
答案 1 :(得分:1)
要将变量传递给WebMethod,您可以使用ajax。使用Jquery它会是这样的
$.ajax({
type: "POST",
dataType: 'json',
contentType: "application/json; charset=utf-8",
url: "YourPage.aspx/SearchUserByGuid",
data:JSON.stringify({area: 'YourValueToPass'}),
success: function (dt) { alert(dt);}, //all Ok
error: function () { alert('error'); } // some error
});
您的WebMethod也将是公共静态的,因此请更改您的方法声明
[WebMethod]
public static string SearchUserByGuid(Guid area) {
return (from us in contextDB.AREAS
where us.ID_AREAS == area
select us.USER_NAME).Single();
}