从代码隐藏向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

回到顶部