如何从后面的C#代码调用本地存储的javascript函数

问题描述:

我有JavaScript文件以将用户数据存储在本地存储中。出于某种原因,我需要从站点的HTML页面后面或从C#代码中调用JavaScript代码。如何从后面的C#代码调用本地存储的javascript函数

这里是我的javascript代码:

LocalStorage.setItem("TestUser", JSON.stringify(
    { 
     "Usr_UserAvatar": “Avartar”, 
     "Usr_Username": “The username (string)”, 
     "Usr_Email": “Email (string)”, 
     "Usr_FirstName": “First name (string)”, 
     "Usr_LastName": “Last name (string)”, 
     "Usr_CompanyName": “Company name (string)”, 
     "Usr_CountryCode": “Country code (string)”, 
     "isAdmin": “If the user has admin rights (boolean)” 
    } 
    }); 

我怎么能落后调用此代码形式的C#代码?请指导我如何做到这一点。谢谢。

+0

所以,你在本地存储器中的*客户机*他们是否有管理员权限或没有设置?如果客户只是决定改变'isAdmin'呢? – mason

您可以使用ClientScriptManager从后面的C#代码中调用您的javascript函数。

Page.ClientScript.RegisterStartupScript(
    Page.GetType(), 
    "test", 
    "FunctionName();", 
    true); 

首先,您的问题与LocalStorage无关。你只是想从ASP.NET运行一些JavaScript代码。

考虑到您使用的WebForms,我认为这是因为您使用了表达式Code behind,您可以执行@Angus所说的内容。在客户端.js文件中注册一个函数并使用RegisterStartupScript运行它。

或者,你可以简单地把这个地方你的ASPX文件,MasterpageRazorView

<script type="application/javascript"> 
    LocalStorage.setItem("TestUser", JSON.stringify(
    { 
     "Usr_UserAvatar": “Avartar”, 
     "Usr_Username": “The username (string)”, 
     "Usr_Email": “Email (string)”, 
     "Usr_FirstName": “First name (string)”, 
     "Usr_LastName": “Last name (string)”, 
     "Usr_CompanyName": “Company name (string)”, 
     "Usr_CountryCode": “Country code (string)”, 
     "isAdmin": “If the user has admin rights (boolean)” 
    } 
    }); 
</script>