使用Jquery将RadRating值发送到服务器
我的网页上有一个Telerik RadRating控件使用Jquery将RadRating值发送到服务器,jquery,asp.net,telerik,Jquery,Asp.net,Telerik,我的网页上有一个Telerik RadRating控件 <telerik:RadRating ID="RadRating1" runat="server" AutoPostBack="false" Enabled="true" Precision="Exact" OnClientRating="Rating_ClientRating"> </telerik:RadRating> 现在我可以成功访问新值和旧值。现在我需要通过JQuery Ajax发布值,我的客户端函数变成
<telerik:RadRating ID="RadRating1" runat="server" AutoPostBack="false" Enabled="true" Precision="Exact" OnClientRating="Rating_ClientRating">
</telerik:RadRating>
现在我可以成功访问新值和旧值。现在我需要通过JQuery Ajax发布值,我的客户端函数变成这样
function Rating_ClientRating(sender, args) {
var newValue = args.get_newValue();
var oldValue = sender.get_value();
var postdata = new Object();
postdata.newValue = newValue;
postdata.oldValue = dealid;
$.ajax(
{
type: "POST",
url: "Posts.aspx/RatePost",
data: JSON.stringify(postdata),
contentType: "application/json",
dataType: "json",
async: "true",
cache: "false",
success: OnSuccess,
failure: function (response) {
alert("Failure: " + response.d);
},
error: function (response) {
alert("Error: " + response.d);
}
});
}
现在,只要我将$.ajax添加到函数中,RadRating就会停止工作。工具提示显示正确,并且在鼠标上方填充星星,但我单击任何星星,则它未被选中。我做错什么了吗
function Rating_ClientRating(sender, args) {
var newValue = args.get_newValue();
var oldValue = sender.get_value();
var postdata = new Object();
postdata.newValue = newValue;
postdata.oldValue = oldValue;
$telerik.$.ajax(
{
type: "POST",
url: "Posts.aspx/RatePost",
data: JSON.stringify(postdata),
contentType: "application/json",
dataType: "json",
async: "true",
cache: "false",
success: OnSuccess,
failure: function (response) {
alert("Failure: " + response.d);
},
error: function (response) {
alert("Error: " + response.d);
}
});
}
function OnSuccess() {
}
谢谢你的帮助。它仍然不起作用。我在同一个页面上有另一个Javascript函数,它也成功地调用了服务器端函数。我已将该函数放在document.ready中。但当我在document.ready中放入相同的方法时,我的RadRating控件被禁用。如果我把它放在document.ready之外,那么除了ajax调用不起作用之外,一切都正常。您有任何脚本错误吗?你检查过你的控制台了吗?是否在此页面上成功返回所有请求?如果我们不能重现你的问题,我们就不能给你一个解决方案。
function Rating_ClientRating(sender, args) {
var newValue = args.get_newValue();
var oldValue = sender.get_value();
var postdata = new Object();
postdata.newValue = newValue;
postdata.oldValue = oldValue;
$telerik.$.ajax(
{
type: "POST",
url: "Posts.aspx/RatePost",
data: JSON.stringify(postdata),
contentType: "application/json",
dataType: "json",
async: "true",
cache: "false",
success: OnSuccess,
failure: function (response) {
alert("Failure: " + response.d);
},
error: function (response) {
alert("Error: " + response.d);
}
});
}
function OnSuccess() {
}