Передача переменной в функцию JavaScript из codebehind - PullRequest
2 голосов
/ 02 апреля 2012

В основном я хочу получить значение переменной из кода, чтобы использовать ее в функции 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'где я хочу значение из codebehind .... любые предложения?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2012

Просто добавьте идентификатор пользователя в качестве пользовательских html-свойств в свой тег ui-autocomplete.Тогда читайте из него.

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

Тогда ваш Javascript вы можете получить этот атрибут:

$(".ui-autocomplete").attr('userid') // will return the id printed in your input attr
0 голосов
/ 02 апреля 2012

Попробуйте выставить свойство в выделенном фрагменте кода, и вы сможете получить доступ к значению, подобному следующему:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...