我正在使用 .Net Framework 4.6.1 我有一個使用 Telerik 控制器呈現資料的 aspx 頁面。我需要能夠將 Telerik 控制器的屬性傳遞回 C# 頁面。我進行了設定,以便當用戶單擊行列時,它會運行帶有硬編碼值的 ajax 方法。我無法使用 Ajax 發送我的值,我會立即收到錯誤回應。有什么我做錯了嗎?我到處搜索檔案,但沒有一個適用于我的框架... aspx.cs 頁面 aspx 頁面
ASPX 頁面
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="False" AllowSorting="False" AllowFilteringByColumn="False" OnNeedDataSource="GetPharmacyByCorporate">
<ClientSettings>
<Scrolling AllowScroll="True" ScrollHeight="650px" UseStaticHeaders="True"></Scrolling>
<ClientEvents OnRowClick="sendIndex" />
<%-- On user click (client side) --%>
</ClientSettings>
<MasterTableView>
<Columns>
</Columns>
<%-- Columns renders every item passed --%>
</MasterTableView>
</telerik:RadGrid>
<script>
function sendIndex() {
$.ajax({
url: "/CorpPharmacyList/getIndexed",
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: 'json',
data: { "indexValue": "4" },
success: function (data) {
if (data) {
console.log("Post successful");
}
},
error: function (e) {
console.log("There was an error with the ajax call")
}
})
}
</script>
C# 頁面
public class indexed
{
public int indexValue { get; set; }
}
[WebMethod]
public void getIndexed(indexed indexe)
{
try {
var myVar = indexe.indexValue;
}
catch (Exception ex)
{
}
}
uj5u.com熱心網友回復:
根據對上述問題的評論......
這是我得到的錯誤“意外的令牌'<',”<!DOCTYPE“......不是有效的JSON”
這意味著服務器沒有回傳 JSON,而是回傳 HTML。但是 JavaScript 代碼明確期望 JSON:
dataType: 'json',
查看服務器端代碼,這是有道理的。因為服務器端代碼不回傳任何內容:
public void getIndexed(indexed indexe)
因此,它似乎默認為某種頁面。
您可以告訴 JavaScript 代碼期待 HTML:
dataType: 'html',
如果您修改服務器端代碼以回傳 JSON 資料,只需記住在客戶端將其改回即可。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/511415.html
標籤:C#网阿贾克斯
