从代码隐藏向JavaScript传递值
尝试将代码隐藏的值(abc)传递给JavaScript,但页面失败并且无法加载。语法有问题吗?我注意到,通常<%...%>被突出显示为黄色,但在我的代码中并非如此。从代码隐藏向JavaScript传递值
<script src="../Scripts/jqModal.min.js" type="text/javascript"></script> <script type="text/javascript">
$().ready(function() { });
$("a").click(function() {
if (this.id == "optionalFeatures_Online") {
var abc = "<%=Variable_codebehind %>";
}
});
</script>
代码ON_LOAD事件背后:
protected override void OnLoad(EventArgs e) {
Variable_codebehind = "hello world";
}
错误日志文件来自:
Web.HttpUnhandledException”被抛出。 ---> System.Web.HttpException:控件集合不能被修改,因为控件包含代码块(即<%...%>)。
回答:
第一绑定值到一个隐藏的控制
然后从隐藏控制
回答:
<script src="../Scripts/jqModal.min.js" type="text/javascript"></script> <script type="text/javascript">
$(document).ready(function() {
$("a").click(function() {
if (this.id == "optionalFeatures_Online") {
var abc = <%=Variable_codebehind %>;
}
});
});
</script>
代码隐藏ON_LOAD事件中获得的价值:
protected override void OnLoad(EventArgs e) {
Variable_codebehind = HttpUtility.JavaScriptStringEncode("hello world", true);
}
回答:
您可以使用Page.RegisterStartupScript和从Code-Behind传递一些变量。将这个脚本放在一个.js文件,并从代码隐藏调用它的OnLoad方法:
的OnLoad代码隐藏:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", String.Format("MyScript({0});", codeBehindVar));
MyScript.js
function MyScript(myVar) {
var self = this;
$("a").click(function() {
if (this.id == "optionalFeatures_Online") {
var abc = self.myVar;
}
}
以上是 从代码隐藏向JavaScript传递值 的全部内容, 来源链接: utcz.com/qa/262608.html