将一个变量从codebehind传递给javascript函数
本文关键字:codebehind 函数 javascript 变量 一个 | 更新日期: 2023-09-27 18:29:48
我基本上想从codeehind中获取一个变量的值,以便在javascript函数中用于自动完成。。。。这是功能:
$(document).ready(function() {
$('.PONumbers').autocomplete(
{
source: function(request, response) {
$.ajax({
url: "../GenericHandlers/PONumber.ashx",
dataType: "json",
data: {
q: request.term,
userid:'622'
},
success: function(data) {
response(data);
}
});
},
minLength: 3
})
}).unbind("blur.autocomplete");
$("body:not(.ui-autocomplete)").live('click', function(){
$('.PONumbers').autocomplete("close");
});
我有值"622"的地方是我想要的代码指针中的值。。。。有什么建议吗?
尝试在代码后面公开一个属性,您应该能够访问这样的值:
userid:'<%= this.UserID %>'
在后面的代码中:
public int UserID
{
get
{
return (int)Session["UserID"];
}
}
使用页面方法
你可能也可以利用PageMethods
:
[ScriptMethod, WebMethod]
public static string GetLabelText()
{
return "Hello";
}
在客户端:
<script type="text/javascript">
insertLabelData = function() {
PageMethods.GetLabelText(onSuccess, onFailure);
}
onSuccess = function(result) {
var lbl = document.getElementById('lbl');
lbl.innerHTML = result; //your code-behind value
}
onFailure = function(error) {
alert(error);
}
</script>
这是我从中获取上述代码的文章:
http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/04/asp-net-ajax-pagemethods.aspx
下面是关于PageMethods
的另一个教程:
http://aspalliance.com/1922_PageMethods_In_ASPNET_AJAX
只需在ui自动完成标记中添加用户ID作为自定义html属性。然后阅读。
<input type="text" class="ui-autocomplete" userid="<%=userID%>">
然后你的Javascript你可以得到这个属性:
$(".ui-autocomplete").attr('userid') // will return the id printed in your input attr