2016-07-04 2 views
2

JS код:Как получить доступ к элементу управления ImageButton из другого класса?

<script type="text/javascript"> 
     function ShowCurrentTime(name) { 
     PageMethods.GetCurrentTime(name, OnSuccess); 
     } 
     function OnSuccess(response, userContext, methodName) { 
      alert(response); 
     } 
</script> 

HTML код:

<asp:ImageButton ID="IMGBTN001" runat="server" ImageUrl="Images/ico/labaniat.png" 
class="img-responsive em-img-lazy" OnClientClick="ShowCurrentTime('01')" /> 

<asp:Image class="img-responsive retina-img em-img-lazy" ID="IMGMostViewed" runat="server"ImageUrl="Images/Banner/block1_banner.jpg" /> 

Код За C#

[System.Web.Services.WebMethod] 
public static string GetCurrentTime(string name) 
{ 
    //string x = IMGMostViewed.ImageUrl; 
    return "Hello " + name + Environment.NewLine + "The Current Time is: " 
      + DateTime.Now.ToString(); 
} 

Я хочу получить доступ к изображению от другого класса.

Как я могу получить доступ к классу GetCurrentTime IMGMostViewed?

я использовал этот код, но получить «page.FindControl (» IMGMostViewed «)» возвращают нулевое

[System.Web.Services.WebMethod] 
public static string GetCurrentTime(string name) 
{ 
    if (HttpContext.Current != null) 
    { 
     Page page = (Page)HttpContext.Current.Handler; 
     Image IMGMostViewed = (Image)page.FindControl("IMGMostViewed"); 
     string x = IMGMostViewed.ImageUrl; 
    } 
    return "Hello " + name + Environment.NewLine + "The Current Time is: " 
      + DateTime.Now.ToString(); 
} 

ответ

0

вы можете теоретически возможный бросить CurrentHandler к вашему типу страницы, а затем получить доступ к кнопке:

var currentHandler = HttpContext.Current.CurrentHandler as T; 
currentHandler.IMGBTN001.ImageUrl = "abc"; 

Бетонный путь - это доступ к вашей кнопке на стороне клиента в вашей функции успеха.

 function ShowCurrentTime(name) { 
     PageMethods.GetCurrentTime(name, OnSuccess); 
    } 
    function OnSuccess(response, userContext, methodName) { 
     //Access here your button and modify it 
    } 

Здесь вы также найдете родственную Ответ: How to access page controls inside a static web method?

+0

Спасибо за ваш ответ. Что такое «T» в HttpContext.Current.CurrentHandler как T ;? – mohammad

+0

T должен представлять вашу страницу, тогда у вас есть экземпляр вашей страницы, и вы можете получить доступ к своему образцу :) –

+0

Я использую это, но получаю нулевую ссылку – mohammad

Смежные вопросы