如何从另一个类访问ImageButton控件
本文关键字:访问 ImageButton 控件 另一个 | 更新日期: 2023-09-27 17:54:35
JS Code:
<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();
}
我想从另一个类访问图像。
如何访问IMGMostViewed this GetCurrentTime类?
我使用了这个代码,但是得到"page.FindControl("IMGMostViewed")"返回null
[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();
}
理论上你可以将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
}
在这里你也会找到一个相关的答案:如何访问静态web方法内的页面控件?