使用Javascript在另一个页面上引用变量。

时间:2011-08-22 15:16:00

标签: javascript jquery asp.net

我目前正在研究一种管理方法,以便能够保存某些文本并在另一页上显示。

目前,“管理”页面中的默认值将从另一页面引用。这是一个简单的页面:

<asp:TextBox Text="Testing jQuery method" ID="TextBox" runat="server"/>
<asp:CheckBox Checked = "true" ID="CheckBox" runat="server" />  

现在,引用这些字段的页面实际上是一个简单的HTML文件,因此我尝试使用jQuery来引用这些字段。我正在尝试使用jQuery ajax调用,但我似乎无法让它正常工作。

<script type="text/javascript" src="Scripts/jquery-1.4.1.js">
var asp_checked;
var asp_text;

try {
    jQuery.ajax({
        url: '~/About.aspx',
        success: function (response, status, xhr) {
            if (status != "error") {
                asp_checked = $('#CheckBox', response).text();
                asp_text = $('#TextBox', response).text();
            }
            else { asp_text = "Error in jQuery Call"; }
        },
        async: false
    });
    document.write(asp_text);
        }
catch (err) {
    document.write("The jQuery is not working");
}
</script>

注意事项:
1.我一般都不太了解jQuery 2.我不能使用cookies(我不认为)。这是在公司内部网上发布公告等 3. jQuery代码取自SO,但我不记得问题参考。我什么时候会在这里更新。

1 个答案:

答案 0 :(得分:2)

因为它是一个ASP控件,请记住ASP喜欢为控件创建自己的(“相对”)ID。 <asp:CheckBox id="cb" />之类的内容可以在点击最终结果页后转入<input type="checkbox" id="SomeContainer_foo$cb" />。 (这意味着使用$('#cb')不再有效,因为控件ID中现在包含所有其他信息)

您的选择?

  1. 通过在控件上设置ClientIdMode来更改您的控件以使用静态 ID。这使您在ASP标记中使用的任何ID都可以转移到HTML页面。
  2. 将jQuery中的选择器更改为:$('[id$=cb]')$=表示“以...结尾”)