我環顧四周,並沒有找到解決我的問題。我有一個PopupControlExtender,不斷顯示彈出窗口,一直給出「Web服務調用失敗:500」錯誤。我有一個具有OnItemCreate屬性的數據網格,該屬性可以正確地爲列中的圖像分配mouseouver和mouseout屬性。以下是包含targetControl圖像以及AJAX控件本身的列的代碼。PopupControlExtender DynamicServiceMethod給500錯誤
下面是AJAX控件的代碼:
<asp:TemplateColumn
HeaderText="Notes"
SortExpression="note"
ItemStyle-VerticalAlign="Top"
HeaderStyle-HorizontalAlign="Center"
HeaderStyle-CssClass="colNotes"
ItemStyle-HorizontalAlign="Center"
ItemStyle-CssClass="colNotes">
<ItemTemplate>
<asp:Label ID="lblNotes" Runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "note") %>'></asp:Label>
<%--<asp:HyperLink ID="lnkNotes" Visible='<%# DataBinder.Eval(Container.DataItem, "has_note") %>' Runat="server" Text="..." /> --%>
<asp:Image ID="lnkNotes" runat="server" Visible='<%# DataBinder.Eval(Container.DataItem, "has_note") %>' ImageUrl="http://www.ezzylearning.com/tutorials/demos/images/magnify.gif" />
<ajax:PopupControlExtender ID="PopupControlExtender1" runat="server"
PopupControlID="pnlPopupNotes"
TargetControlID="lnkNotes"
DynamicContextKey='<%# Eval("person_id") +","+Eval("group_id") %>'
DynamicControlID="pnlPopupNotes"
DynamicServiceMethod="GetDynamicContent" Position="Bottom">
</ajax:PopupControlExtender>
</ItemTemplate>
</asp:TemplateColumn>
下面是DynamicServiceMethod代碼(我故意剝奪它歸結爲一個簡單的跨度只是試圖得到的東西顯示)...
[System.Web.Services.WebMethodAttribute(),
System.Web.Script.Services.ScriptMethodAttribute()]
public static string GetDynamicContent(string contextKey)
{
StringBuilder b = new StringBuilder();
b.Append("<span>Hello!</span>");
return b.ToString();
}
這裏是我使用的PopupControlID面板...
<asp:Panel ID="pnlPopupNotes" runat="server">
因此,通過這個設置,我成功獲得了鼠標懸停/拖拽行爲,但是我期望看到彈出的跨度,而是看到「Web服務呼叫失敗:500」消息。任何想法我可能會失蹤?
編輯:
我發現這個問題是如何將Web服務正在從頁面調用。 Web服務實際內置於同一頁面上的用戶控件內。當我將鼠標懸停並進行Web服務調用時,我看到它創建的URL以嘗試訪問Web服務器,它的位置應該更像http://mydomain/default.aspx/Usercontrols/parentUserControl.ascx/GetDynamicContent
但是,我無法弄清楚如何修改它的URL呼叫。我嘗試將DynamicServiceMethod屬性值從「GetDynamicContent」更改爲http://mydomain/default.aspx/UserControls/parentUserControl.ascx/GetDynamicContent
,但這只是給了一個混亂的混亂。
我希望這個編輯可以給可以幫助我的人更多的洞察力。