[asp.net-mvc]asp.net web 窗体 commandargument 问题

标签: Asp.net-MVC .Net
发布时间: 2017/3/25 9:49:01
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

在 asp.net webforms 出了问题,一个按钮控件。

使用 mvc 一位后,我开始使用 foreach aspx 文件在 webforms 太,而不是中继器,主要导致的直放站创建的所有垃圾视图状态中。

它的伟大工程时你只需循环遍历 html 控件。 但是我很难与按钮控件。

<% foreach (var r in Reports) { %>
    <asp:LinkButton OnClick="Click_DeleteResult" CommandArgument='<%= r.ResultId.ToString() %>' runat="server">Delete</asp:LinkButton>
<% } %>

在回发时该按钮 commandargument 成为"< %= r.ResultId.ToString() %>"。所以,不能执行的代码。 有好的方法,以这种方式填充控件属性吗?

解决方法 1:

这真是龌龊。 #1 使用 ASP.NET (尤其是 MVC) 的好处分离的逻辑和演示文稿。 我畏缩每次我都要在执行代码 aspx 文件中查找。

如果你不喜欢的视图状态"的垃圾"只是将其关闭该控件 !

<asp:Repeater ID="MyRepeater" runat="server" EnableViewState="false">

如果你坚持这虽然...... 我见过的情况下这哪里像 ASP.NET 将不解析服务器标记正确除非我掉周围的引号。 就像这样︰

CommandArgument=<%= r.ResultId.ToString() %>

可能不完全符合这个规范的 HTML,但 ASP.NET 并不在乎。 如果你真的需要输出这些周边的报价由于某种原因你可以把他们服务器在标记内部,而不是外面。 这是有违常理,但有时你不得不这样做。

赞助商