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

前端之家收集整理的这篇文章主要介绍了asp.net – 为什么<%=%>标记呈现为“<%=%>”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在这样的页面上有一个输入控件:
<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();
}
原文链接:https://www.f2er.com/aspnet/247070.html

猜你在找的asp.Net相关文章