我目前正在研究一种管理方法,以便能够保存某些文本并将其显示在另一个页面上。
目前,“管理”页面中的默认值是从其他页面引用的。这是一个简单的页面:
<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,但我不记得问题引用。当我这样做时,我会在这里更新。
最佳答案
因为它是一个 ASP 控件,请记住 ASP 喜欢为控件创建自己的(“相对”)ID。类似于 <asp:CheckBox id="cb" />
可以转入<input type="checkbox" id="SomeContainer_foo$cb" />
一旦它到达最终结果页面。 (这意味着使用 $('#cb')
不再有效,因为控件 ID 中现在包含所有其他信息)
你的选择?
- 通过设置 ClientIdMode 将您的控件更改为使用静态 ID在控件上。这会使您在 ASP 标记中用作 ID 的任何内容都传输到 HTML 页面。
- 将 jQuery 中的选择器更改为如下所示:
$('[id$=cb]')
($= 表示“结束于”)
关于javascript - 使用 Javascript 在另一个页面上引用变量。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7149628/