加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 为什么<%=%>标记呈现为“<%=%>”?

发布时间:2020-12-16 04:03:37 所属栏目:asp.Net 来源:网络整理
导读:我在这样的页面上有一个输入控件: input type="button" causesvalidation="false" runat="server" id="resetButton" value="Iptal" onclick='return resetForm("%=projectValidationSummary.ClientID%");' / 什么时候渲染 input name="ctl00$ContentPlaceHo
我在这样的页面上有一个输入控件:
<input 
    type="button" 
    causesvalidation="false"
    runat="server" 
    id="resetButton"  
    value="Iptal" 
    onclick='return  
    resetForm("<%=projectValidationSummary.ClientID%>");' />

什么时候渲染

<input 
    name="ctl00$ContentPlaceHolder1$EditForm$resetButton" 
    type="button" 
    id="ctl00_ContentPlaceHolder1_EditForm_resetButton" 
    value="Iptal" 
    onclick="return  resetForm(&quot;&lt;%=projectValidationSummary.ClientID%>&quot;);" />

我使用<%=%>页面上的标签,但它呈现为

&quot;&lt;%=%>&quot;

任何人都可以告诉我为什么会这样吗?

解决方法

<%=%>只能在文字html中使用,不能在服务器控件属性上使用.

相反,你应该我们数据绑定<%#%>,在你的情况下,我认为你试图在客户端触发javascript函数,然后你的代码应该是这样的:

<asp:button
causesvalidation="false"
runat="server"
id="resetButton"
text="Iptal"
onclientclick='<%# String.Format("return resetForm("{0}");",projectValidationSummary.ClientID) %>' />

在服务器端,您应该使用此代码绑定属性(可能在Page.Load事件中):

if(!this.IsPostBack)
{
  this.resetButton.DataBind();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读