我使用了一个Jquery截断器解决方案,它由Henrik Nyh整齐地编写,以便读取更多/更少的功能。脚本here
我想修改此代码,以便能够通过更新数据库来跟踪读/未读状态。我担心在webservice中进行数据库更新的代码如下所示。
[WebMethod]
public void updateReadStatus(int ID)
{
//code to update the database
}
我添加了以下内容以使用Jquery
中的Web服务 function updateStatus(){
$.ajax({
type: "POST",
url: "WebServices/myWebService/updateReadStatus",
data: "{'ID': " + $("#lblID").Text + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnError
});
function OnSuccess(reuslt) {
alert(result.d);
}
function OnError(result) {
alert(result.status + ' ' + result.status);
}
}
//and i called this function on this line
full_node.find('a:last').click(function() {
truncated_node.show(); updateStatus(); full_node.hide(); return false;
//The user control that im using this scrip on has a repeater that contains a div that contains the paragraph to be truncated.
<div class="readmore">
<%# Eval("Message_Text")%>
<asp:Label ID="lblID" runat="server" visible="false"
</div>
截断脚本工作正常,它给了我想要的功能,阅读更多/更少。但我无法获得我想要的附加功能。我收到“12030未知”错误,我相信问题出在行数据中:
"{'ID': " + $("#lblID").Text + "}",
如何从lable的文本值中提取参数ID的值,以将其传递给webservice?
答案 0 :(得分:2)
text是一个函数,而不是属性,因此您需要使用()
调用它:
"{'ID': " + $("#lblID").text() + "}",
另外,如果你想通过Ajax调用给定的WebMethod,你需要用[ScriptMethod]
属性来装饰它。
答案 1 :(得分:1)
您没有说出lblID
标识的内容,但您应该这样做:
$("#lblID").text()
或
$("#lblID").val()