我想通過AJAX
在我的C#代碼中調用WebMethod
..我有一個引導程序模式,需要在點擊鏈接按鈕時顯示,也是在按下鏈接按鈕時,它將通過AJAX
觸發一個WebMethod,它使用查詢中的結果集填充模態主體中的表格。ASP.NET和C#中的AJAX問題
這是我的代碼:
ASP.NET
<asp:LinkButton href="#viewemydevices" data-toggle="modal" ID="ViewMyDevices" runat="server">
<div class="panel-footer announcement-bottom">
<div class="row">
<div class="col-xs-6">
View Devices
</div>
<div class="col-xs-6 text-right">
<i class="fa fa-arrow-circle-right"></i>
</div>
</div>
<div class="modal fade" id="viewemydevices" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4>This is a section</h4>
</div>
<div class="modal-body">
<table id="MyDevicesTable" class="table tbody" runat="server" visible="false">
<tbody>
<tr>
<td>
<asp:DataGrid ID="MyDevicesGrid" runat="server" CssClass="table table-striped tbody" Visible="false"
AutoGenerateColumns="True"
ForeColor="black"
HeaderStyle-Font-Bold="true"
HeaderStyle-ForeColor="black"
GridLines="None"
EnableViewState="false"
AllowSorting="True"/>
</td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<a class="btn btn-primary" data-dismiss="modal">Close</a>
</div>
</div>
</div>
<script type="text/javascript">
$.ajax({
url: 'Default.aspx/ViewMyDevices',
type: "POST",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#ViewMyDevices').click();
}
});
</script>
C#
[WebMethod]
public void ViewMyDevices()
{
string selectMyDevices = "My Query, it works fine";
sqlCmd = new SqlCommand(selectMyDevices, sqlConn);
sqlConn.Open();
SqlDataReader rdrMyDevices = sqlCmd.ExecuteReader();
//reads row into datagrid
if (rdrMyDevices.HasRows)
{
//sets table/grid to visible
MyDevicesGrid.Visible = true;
MyDevicesTable.Visible = true;
//adds data to grid
MyDevicesGrid.DataSource = rdrMyDevices;
MyDevicesGrid.DataBind();
}
sqlConn.Close();
}
我不知道我錯過了什麼,該模式被顯示,但沒有數據顯示。所以我認爲AJAX並沒有被解僱......
有什麼建議嗎?
您可以通過在瀏覽器中查看開發人員工具來判斷ajax是否被解僱。例如,對於Firefox,只需右鍵單擊並選擇「檢查元素」。點擊「網絡」,你可以看到對服務器進行的任何呼叫。 Internet Explorer和Google Chrome都有類似的工具。 – user1304444
沒錯,它並沒有被解僱。我可以證實這一點。 – codeBoy
我注意到你的linkbutton中有一個額外的'e':'href =「#viewemydevices」'是這個問題嗎? – user1304444