2012-04-02 135 views
2

我bascially想从代码隐藏在自动完成JavaScript函数使用一个变量的值....在这里传递一个变量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'是我想要从代码隐藏的价值....任何suggstions?

+2

你用什么语言代码隐藏? – 2012-04-02 14:59:53

+0

c-sharp sldjlskdflsj – Eoiner 2012-04-02 15:03:24

+0

如果这个值对于请求是必需的,我相信你应该在客户端提供这个值(即使你必须把它放在一个隐藏的字段中),所以你可以很容易地把值作为请求数据。 – MilkyWayJoe 2012-04-02 15:04:10

回答

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

+0

好的会尝试,谢谢 – Eoiner 2012-04-02 15:02:53

+0

你的意思是声明和初始化变量,是吗? – Eoiner 2012-04-02 15:04:57

+0

只需在代码隐藏中创建一个属性即可返回您需要的值,在这种情况下,该值就是UserID。 – 2012-04-02 15:07:28

0

只需将用户标识添加为您的ui-autocomplete标记中的自定义html属性即可。然后从中读取。

<input type="text" class="ui-autocomplete" userid="<%=userID%>"> 

然后你的Javascript你可以得到这个ATTR:

$(".ui-autocomplete").attr('userid') // will return the id printed in your input attr 
+0

不知道你在这里的意思,而不是真的很熟悉javascript – Eoiner 2012-04-02 15:09:19

+0

我已经为你添加了一个例子。这是最简单的方法,因为您不需要更改动态的JS文件。 – 2012-04-02 15:14:54

+0

我其实现在正在工作,无论如何都欢呼。 – Eoiner 2012-04-02 15:20:23