我需要从SQL Server(公司徽标)读取图像数据并将其保存在localStorage中。该公司徽标显示在母版页左侧边栏中,以便在每个客户页面中都可见。
为此,我在“母版”页面中使用了3个JS函数。
function storageCheck() {
if (localStorage.getItem("imgData") === null) //check availability
document.getElementById('<%=hdfStorage.ClientID %>').value = "true"; //assign true to a hidden field
else
document.getElementById('<%=hdfStorage.ClientID %>').value = "false";
}
function storelogo(imgData) { //store image data
localStorage.setItem("imgData",imgData);
}
function getImg() { //get data
var dataImage = localStorage.getItem('imgData');
document.getElementById('imgCompanyLogo').src = dataImage;
alert('got')
}
在“主页”后面的代码中,我将这些JS函数称为
protected void Page_LoadComplete(object sender,EventArgs e)
{
if (!IsPostBack)
{
ScriptManager.RegisterStartupScript(this,this.GetType(),"checkfn","storageCheck()",true);
if (hdfStorage.Value == "true")
ScriptManager.RegisterStartupScript(this,"storelogoo","storelogo('" + <Base64String img data from database> + "');",true);
else if (hdfStorage.Value == "false")
ScriptManager.RegisterStartupScript(this,"getlogo","getImg();",true);
}
}
我尝试将其放在Page_Load
事件中,但没有用。我面临的问题是这些函数没有被调用,如果从Page Load事件中调用这些函数,则当我使用hdfStorage.Value == "true"