asp.net – 为什么%=%在一种情况下工作,但在另一种情况下工作
|
这是因为昨天晚上给我一个坏的答案。对于为什么一种方法工作而不是另一种方法的好奇心是扰乱我,我希望比我更聪明的人可以给我正确的解释(或指向我的文档)为什么以下行为是这样的。 给出以下代码隐藏: protected string GetMyText(string input)
{
return "Hello " + HttpUtility.HtmlEncode(input);
}
为什么这个工作 <asp:Label ID="Label1" runat="server"><%= GetMyText("LabelText") %></asp:Label>
但这不是 <asp:Label ID="Label1" runat="server" Text='<%= GetMyText("LabelText") %>' />
编辑 – 添加 有可能让我原来的愚蠢的答案下降了更多次,这里是原始问题的链接,因为我现在得到的一些答案已经在这个问题被覆盖。 Why can’t I set the asp:Label Text property by calling a method in the aspx file? 解决方法使用<%=%>等于在您的页面中放置Response.Write(“”)。这样做时<asp:Label ID="Label1" runat="server"><%= GetMyText("LabelText") %></asp:Label>
ASP.NET处理器评估控件,然后在渲染时输出控件的内容&调用Response.Write它看到的位置<%=。 在这个例子中: <asp:Label ID="Label1" runat="server" Text='<%= GetMyText("LabelText") %>' />
您不能在Text属性上使用Response.Write(“”),因为它不返回字符串。它将其输出写入响应缓冲区并返回void。 如果要在ASP.NET标记中使用服务器标签语法,则需要使用<%#%> ;.标记数据的这种组合绑定了标签中的值。为了使这个工作,你需要在页面的Load()方法中调用DataBind()来使它工作。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .NET WebApi jsonapi.org支持
- 验证 – ASP.Net MVC3电子邮件/电话数据注释不起作用
- 捕获到ASP.NET ASMX Web服务的SOAP请求
- ASP.Net中的图形(c#)
- asp.net-mvc-3 – 将原始html转储到Telerik网格
- asp.net-mvc – 获取VS2010,特别是Razor视图,将自定义“dat
- asp.net-mvc-4 – 将ninject dependecyResolver用于MVC和We
- asp.net – 进程服务应用程序池“经典.NET AppPool”遭受与
- 将ASP.NET MVC4应用程序部署到GoDaddy编译器问题
- .net – 抱歉,处理您的请求时出错
