2017-07-06 37 views
0

我想從後面的代碼更新圖像src,但圖像沒有得到更新。我有一個添加了Image控件的Default.aspx頁面。控件放置在更新面板中。如何從後臺代碼中的靜態方法更新圖像src?

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    <div id="targetDiv" class="auto-style2" runat="server"> 
     <img id="testID" src="Images/Locations/PERRAN_SANDS.svg" runat="server" /> 
    </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 

我在我的代碼後面有一個靜態方法,我試圖從它更新圖像src。

protected void Page_Load(object sender, EventArgs e) 
{ 
    Session["ImageControl"] = Page.FindControl("testID"); 
} 

[WebMethod] 
public static void GetLocationNames() 
{ 
    String siteName = Database.GetsiteNameforTopPlayer(); 
    UpdateImage(siteName); 
} 

public static string UpdateImage(string imgName) 
{ 
    string filename = imgName+ ".svg"; 
    string path = @"Images/Locations/" + filename; 

    System.Web.UI.HtmlControls.HtmlImage imgControl = new System.Web.UI.HtmlControls.HtmlImage(); 
    imgControl = System.Web.HttpContext.Current.Session["ImageControl"] as System.Web.UI.HtmlControls.HtmlImage; 
    imgControl.Src = path; 
    imgControl.DataBind(); 
} 

GetLocationNames()從jquery函數中調用。我在我的代碼設置斷點和Src的價值被更新,但變化不會反映在網頁

+1

被稱爲該UpdateImage方法時?我看不到任何會導致該方法運行的代碼。 – ADyson

+1

我認爲如果你在裏面放置一個''標籤,你就可以從代碼隱藏中訪問它了。 – Sometowngeek

+0

@ADyson:對不起,我忘了在上面的代碼中包含調用UpdateImage()的方法。 – Sugan88

回答

0

甚至可以在Page_Load事件做,通過使用

string filename = imgName+ ".svg"; 
    string path = @"Images/Locations/" + filename; 
testID.Src=path; 
相關問題