2014-11-03 4 views
0

Я использую Ajax для вызова некоторого метода из базы данных Этот метод принимает параметры со страницы и получает некоторые значения из базы данных Я хочу заполнить результат элементами управления страницы, обратившись к этим элементам управления в веб-методе.Как получить доступ к элементам управления страницей внутри метода [WebMethod]?

Ниже приведен мой код. Я использую разборный расширитель панели. В событии клика он обрушивается. & должен вызывать метод verifyFunction, написанный позади кода.

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="True"></asp:ToolkitScriptManager> 

<asp:Panel ID="Panel1" runat="server"> 
</asp:Panel> 
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton> 

<asp:CollapsiblePanelExtender ID="cpeSOP" runat="Server"  CollapseControlID="LinkButton1" 
    CollapsedSize="0" Collapsed="True" CollapsedImage="~/imgages/addRow.gif" 
    ExpandControlID="LinkButton1" ExpandDirection="Vertical" ExpandedImage="~/imgages/addRow.gif" 
    ImageControlID="Image1" SuppressPostBack="true" TargetControlID="Panel1"> 

<!-- JAVASCRIPT CONTENT --> 
<script type="text/javascript"> 
     function pageLoad(sender,args){ 

$find("collapsibleBehavior").add_expandComplete(expandHandler); 

$find("collapsibleBehavior").add_collapseComplete(collapseHandler); 

} 

function expandHandler(sender , args){ 

    alert('I have expanded'); 
    // NewPlanBudget.aspx/verifyFunction 
    $.ajax(
     { 
      url: "NewPlanBudget.aspx/verifyFunction", 
      data: "flag=1", 
      success: function (msg) { 
       if (msg.d) { 
        alert("Sucess"); 
       } 
      } 
      }); 
} 

function collapseHandler(sender , args){ 

alert('I have collapsed'); 


} 

Код за это

[WebMethod]

protected void Page_Load(object sender, EventArgs e) 
    { 
     cpeSOP.BehaviorID = "collapsibleBehavior"; 
    } 

    public static void verifyFunction() 
    { 
     LinkButton1.Text = "Hello"; 

    } 

ответ

0

я думаю, что вы не можете получить доступ управления страницы в веб-метод, но вы можете вернуть результаты Аяксу, и получить результаты

, а также разместить свой образец кода, я не знаю, почему вы звоните загрузки страницы в web- метод,

, а также сценарий должен быть

$.ajax(
    { 
     url: "NewPlanBudget.aspx/verifyFunction", 
     data: {flag="1"}, 
     success: function (msg) { 
      if (msg.d) { 
       alert("Sucess"); 
      } 
     } 
     }); 

и вы должны получить значение в веб-метода, как

public static void verifyFunction(string flag) 
{ 

} 

и дать имя ссылку кнопки в дизайн страницы сама

как

<asp:LinkButton ID="LinkButton1" Text="Hello" runat="server">LinkButton</asp:LinkButton> 
-1
public static void Savedata() { 
    if (HttpContext.Current != null) { 
     Page page = (Page)HttpContext.Current.Handler; 
     TextBox TextBox1 = (TextBox)page.FindControl("TextBox1");  
    } 
}