我读过一个不能使用ASP.NET MVC和服务器控件的ViewState包括TextBox?
http://forums.asp.net/t/1216834.aspx
不需要的服务器控件 ViewState完全起作用将起作用 在MVC中,但任何需要的东西 PostBack正常工作不会。
所以可绑定的只读控件就像 中继器将工作,但输入 像DropDownList和 TextBox不会。
如果我甚至不能使用TextBox,我该怎么用?
答案 0 :(得分:3)
您只需使用标准HTML输入字段或HTML帮助程序。
答案 1 :(得分:1)
ASP.NET和ASP.NET MVC都使用后端编码约定来呈现HTML标记。在ASP.NET中,约定是使用Control类,而在ASP.NET MVC中,约定是使用HtmlHelper
扩展方法。
带有以下ASP.NET标记的TextBox ASP.NET Control
<asp:TextBox id="sample_tbx" Text="Sample Default Value" runat="server" />
呈现以下HTML标记
<input type="text" name="sample_tbx" id="sample_tbx" value="Sample Default Value" />
要在MVC视图中使用HtmlHelper
扩展方法获得相同的结果,惯例是使用TextBox()
extension method。例如,
<%= Html.TextBox("sample_tbx", "Sample Default Value") %>
在ASP.NET或ASP.NET MVC中,html标记可以内联编写。所以,只需写
<input type="text" name="sample_tbx" id="sample_tbx" value="Sample Default Value" />
对ASP.NET WebForms或ASP.NET MVC有效。