【问题标题】:How to force execution of value assignment in blocks of type <%=value%>如何在 <%=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 上怎么没用?您对此有何感受?
  • 我只是尝试了几次使用两个指令,结果相同,脚本从未插入,如果我调试代码行,那些被执行但脚本从未出现在页面上,即为什么我将这些说明称为无用。

标签: asp.net default-value execution compiler-directives page-directives


【解决方案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”测试了文字并且它工作了,但是在按下按钮后它对文字的值没有任何作用,脚本没有被插入。
猜你喜欢
  • 2014-05-02
  • 1970-01-01
  • 2013-07-24
  • 2020-05-12
  • 2019-04-24
  • 1970-01-01
  • 2017-04-18
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多