我正在尝试从ascx文件的javascript访问ascx.cs文件中的列表.ascx.cs文件中的列表如下所示。
public List<String> samplelist
{
get { return samplelist; }
set { samplelist = value; }
}
在我的ascx中,我想从Javascript中访问相同内容。
<script>
function calllist() {
// I want to access the list named "samplelist" here.
}
</script>
请帮助我如何访问javascript中的列表。
答案 0 :(得分:0)
不,因为ascx控件不代表可以从客户端计算机访问的真实URL。他们纯粹是服务器端,意味着嵌入其他页面。
您可能想要做的只是拥有一个aspx页面,它提供了您在ascx文件中当前拥有的相同html片段。 aspx页面不一定需要提供完整的html文档(等等),它只能呈现您感兴趣的用户控件。
答案 1 :(得分:0)
我假设你在这里使用ASP.NET Web表单。您无法从javascript访问C#代码中的变量/方法/属性等,因为它们永远不会被渲染。您的所有c#代码实际上都是在DLL文件中编译的,并且驻留在服务器中。
如果您需要将列表从服务器返回到前端浏览器(或javascript),则可以使用隐藏字段。只需将变量设置为隐藏字段的值,然后从javascript访问它。
答案 2 :(得分:0)
它是一个公共变量。您可以像在JavaScript代码中一样访问它
<%= samplelist %>
答案 3 :(得分:0)
如果您不需要对服务器端列表的写访问权限,可以将其序列化为JSON并将其嵌入JavaScript中,然后像JavaScript数组一样访问它......
代码背后:
using System.Web.Script.Serialization;
public List<String> samplelist
{
get { return samplelist; }
set { samplelist = value; }
}
public string sampleListJson()
{
var jsonSerializer = new JavaScriptSerializer();
return jsonSerializer.Serialize(samplelist);
}
JavaScript的:
<script>
var samplelist = <%= sampleListJson() %>;
function calllist() {
alert(samplelist[0]);
}
</script>