2012-06-01 4 views
2

У меня есть класс javascript под названием MyTest.js, теперь я регистрирую этот скрипт при загрузке моего MyWebPage.cs, но мне нужно передать 3 параметра функции, которые она затем сделает вызов веб-службы. Вот мой Javascript функцияКак передать параметры на вызов ajax

MyTest.init = function() { 
    var params = new Hash(); 
    params.set("blank", "blank"); 
    new Ajax.Request('/Test.asmx/CreateClients', { 
     method: 'post', 
     onSuccess: attachCallback(this, "Yay"), 
     onFailure: attachCallback(this, "Nay"), 
     onException: attachCallback(this, "Nay"), 
     parameters: params 
    }); 
} 

Теперь параметры мне нужно пройти два жала, название и заметки, которые я могу получить в нагрузке моего файла .cs. Как передать значения этой функции init?

Спасибо

+0

Вы с помощью Prototype? – dontGoPlastic

ответ

2

Используйте свойство данных:

MyTest.init = function() { 
    var params = new Hash(); 
    params.set("blank", "blank"); 
    new Ajax.Request('/Test.asmx/CreateClients', { 
     method: 'post', 
     data: {Name:"name", Notes:"Notes"}, 
     onSuccess: attachCallback(this, "Yay"), 
     onFailure: attachCallback(this, "Nay"), 
     onException: attachCallback(this, "Nay"), 
     parameters: params 
    }); 
} 
+0

Как я могу впоследствии использовать эти параметры на C#? –

0

Он смотрит на меня, как вы используете прототип, а не JQuery, но я не уверен. Если да, вам просто нужно заполнить свой объект Ajax.Request parameters своим именем и свойствами заметки.

MyTest.init = function(name, note) { 
    var params = new Hash(); 
    params.set("blank", "blank"); 
    params.set("name", name); 
    params.set("note", note); 
    new Ajax.Request('/Test.asmx/CreateClients', { 
     method: 'post', 
     onSuccess: attachCallback(this, "Yay"), 
     onFailure: attachCallback(this, "Nay"), 
     onException: attachCallback(this, "Nay"), 
     parameters: params 
    }); 
} 
0

Вы могли бы попробовать, на стороне сервера, выписывая

<script type="text/javascript"> 
var param1 = '<%= dotNetValue %>'; 
var param2 = '<%= otherDotNetValue %>'; 
</script> 

затем на клиенте вы будете иметь доступ к этим (глобальные) переменные

params.Set("first", param1); 
params.Set("second", param2); 
Смежные вопросы