我基本上想从代码隐藏中获取变量的值,以便在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'是我想要代码隐藏的值....任何建议?
答案 0 :(得分:0)
尝试在代码隐藏中公开一个属性,你应该能够像这样访问这个值:
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
答案 1 :(得分:0)
只需在ui-autocomplete标记中添加用户ID作为自定义html属性即可。然后从中读取。
<input type="text" class="ui-autocomplete" userid="<%=userID%>">
然后你的Javascript你可以得到这个attr:
$(".ui-autocomplete").attr('userid') // will return the id printed in your input attr