如何在 <%=value%> 类型的块中强制执行赋值
Posted
技术标签:
【中文标题】如何在 <%=value%> 类型的块中强制执行赋值【英文标题】:How to force execution of value assignment in blocks of type <%=value%> 【发布时间】:2013-04-23 15:24:03 【问题描述】:是否有指令或指令强制在网页中执行 类型的块?因为我有一个 Web 项目,其中我有一个该类型的块,它只评估非常第一次(当值为“”),但如果我更改变量值的值,它是字符串类型的公共字段,在按钮内内容不计算,我正在使用值插入脚本。我将我的 aspx 副本上传到我的 Web 服务器并且代码工作正常,但我遇到的问题是它在我调试时不起作用,从未评估值并且从未插入脚本块。
我真的需要能够在运行脚本的情况下调试 Web 应用程序以保持编码。
问候。
附:我确实需要使用这种方法,因为 ScriptManager 的 RegisterClientScriptBlock 和 RegisterStartupScript 对我来说在以前版本的 Internet Explorer 上是无用的。
.......
public string value = "";
protected void Button1_Click(object sender, EventArgs e)
//Just a silly example of a script.
value = "<script type=\"text/javascript\">alert(Add(3,4));</script" + ">";
…………
<script type="text/javascript">
function Add(number1, number2)
return (number1 + number2);
</script>
<%=value %>
【问题讨论】:
RegisterClientScriptBlock 或 RegisterStartupScript 在以前版本的 IE 上怎么没用?您对此有何感受? 我只是尝试了几次使用两个指令,结果相同,脚本从未插入,如果我调试代码行,那些被执行但脚本从未出现在页面上,即为什么我将这些说明称为无用。 【参考方案1】:aspx:
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
c#:
Literal1.Text = "<script type=\"text/javascript\">alert(Add(3,4));</script" + ">";
这对你有用吗?
【讨论】:
我尝试了您的解决方案,但令人难以置信的是没有插入脚本,我认为我的网页有些棘手。尽管我认为您的解决方案很有创意,但就像我的网页执行被卡住一样,您可以看到它也无法为文字赋值:(。 而不是分配js字符串,如果给Literal1.Text分配一些随机字符串值,页面会渲染该值吗? 是的,我用初始值“hey”测试了文字并且它工作了,但是在按下按钮后它对文字的值没有任何作用,脚本没有被插入。以上是关于如何在 <%=value%> 类型的块中强制执行赋值的主要内容,如果未能解决你的问题,请参考以下文章