C# JavaScript:从另一个窗体引用控件

C# JavaScript:从另一个窗体引用控件,c#,javascript,asp.net,jquery,C#,Javascript,Asp.net,Jquery,My displaycloud.aspx页面包含两个数据绑定数据列表,每个列表用于显示标记云。数据列表有一个EmptyDataTemplate,如果没有从数据库中检索到任何内容,它将保留一个空标签。我试图通过在companyadmin页面上使用下面的代码来显示消息“请记录一个故事”,但我收到一个错误,控件不在同一页面上。如何在companyadmin.aspx中引用displaycloud.aspx中的正负标签?另外,如果EmptyDataTemplate没有如页面底部所示执行,我想重定向。非常

My displaycloud.aspx页面包含两个数据绑定数据列表,每个列表用于显示标记云。数据列表有一个EmptyDataTemplate,如果没有从数据库中检索到任何内容,它将保留一个空标签。我试图通过在companyadmin页面上使用下面的代码来显示消息“请记录一个故事”,但我收到一个错误,控件不在同一页面上。如何在companyadmin.aspx中引用displaycloud.aspx中的正负标签?另外,如果EmptyDataTemplate没有如页面底部所示执行,我想重定向。非常感谢您的帮助

displaycloud.aspx:

<EmptyDataTemplate>
    <asp:Label ID="positive_tags" runat="server" Text=""></asp:Label>
</EmptyDataTemplate>

<EmptyDataTemplate>
    <asp:Label ID="negative_tags" runat="server" Text=""></asp:Label>
</EmptyDataTemplate> 
companyadmin.aspx:

<script type="text/javascript">
function validate() {

    var negative_tags = document.getElementById('negative_tags').innerText;
    var positive_tags = document.getElementById('positive_tags').innerText;

    if (negative_tags == "" && positive_tags == "") {
        (function($) {
            $.jGrowl("Please Log a Story", { theme: 'smoke', closer: true })
            return false;

        })(jQuery);

        return true;
    }

}
</script>
进一步向下ASP页:

<asp:Button ID="LinkButtonTagCloud" runat="server" Text="TAG CLOUD" onClientClick="javascript:return validate();" PostBackUrl='<%# string.Format("~/displaycloud.aspx?project={0}&id={1}", Eval("ProjectName"), Eval("ProjectID")) %>' />
试试这个:

<script type="text/javascript">
    var negative_tags;
    var positive_tags;

    jQuery.ajax({
         url: 'displaycloud.aspx',
         success: function(response, status, xhr) {
           if (status != "error") {
             positive_tags = $('#positive_tags', response).text();
             negative_tags = $('#negative_tags', response).text();
         }},
         async: false
    });         

    alert("Positive tags: " + positive_tags);
    alert("Negative tags: " + negative_tags);

</script>
但是,出于性能和应用程序设计的考虑,我建议您通过Ajax直接从服务器获取原始格式的JSON数据:

上面的方法在解析整个displaycloud.aspx页面之前将其加载到内存中,这是一种无用的开销。 一般来说,从工程的角度来看,您应该考虑在特定情况下定义不同的应用层:演示文稿、业务逻辑和数据、原始数据源等。您不应该使一个页面内容依赖于另一个页面内容,这基本上是使表示层的一部分依赖于另一部分。您想要检索的数据显然属于业务层。
你是说运行在第1页上的javascript应该访问第2页上的元素吗?