gpt4 book ai didi

asp.net - 内联脚本在 ASP.Net 自定义控件中无法解析

转载 作者:行者123 更新时间:2023-12-02 13:02:10 28 4
gpt4 key购买 nike

目前我正在使用自定义正则表达式验证器(不幸的是)

我正在尝试使用服务器端内联脚本设置正则表达式模式,如下所示:

ValidationExpression="<%= RegExStrings.SomePattern %>"

但是,该脚本未解析为服务器端代码。相反,它是按字面解释的,我最终在渲染的标记中得到类似这样的内容:

ctl00_DefaultContent_regexValidatorInvitation.validationexpression = "<%= RegExStrings.SomePattern %>";

有任何线索说明为什么此问题无法正确解决吗?

最佳答案

现在我的 MS 已经解决了这个问题。我发现的问题是由于服务器表单中的“action”属性在 .NET 2 SP2 之前不起作用,但现在可以设置。代码渲染 block 从未在属性值中起作用 - 这将在本文末尾进行解释。

这是 Microsoft .NET Framework 3.5 SP1 中引入的故意更改行为的结果。在该服务包之前,服务器端 FORM 标记上的操作和方法属性无法被覆盖。如果指定,它们将被 ASP.NET 替换为“POST”和“页面名称”。

以前,ASP.NET 页面解析器不会阻止指定这些属性,尽管文档建议不要为操作属性指定这些属性: http://msdn.microsoft.com/en-us/library/k33801s3.aspx

特别是注释(在 FORM 元素的上下文中):

• “开始标记不得包含操作属性。ASP.NET 在处理页面时动态设置这些属性,覆盖您可能进行的任何设置。”

最初由 Josh 报告的问题(代码块未被解释)不是新行为,而是一个已知错误 - 代码渲染 block 无法在服务器控件属性中使用。这被报告为“连接”错误: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=109257其中包含以下内容:"服务器控件的属性不能将内联表达式作为值。这解释了如下所示的意外行为: "

关于asp.net - 内联脚本在 ASP.Net 自定义控件中无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/225327/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com