似乎我在这个主题上所看到的一切都要么自发布以来发生了变化,要么与彼此截然不同. 我只是想在我的视图中创建一个简单的表单. 我应该使用Html.BeginForm()/ TextBox()/ EndForm()方法还是应该
我只是想在我的视图中创建一个简单的表单.
我应该使用Html.BeginForm()/ TextBox()/ EndForm()方法还是应该使用普通的HTML表单?哪个更受欢迎?
这是我到目前为止:
<%=Html.BeginForm("Create", "Product", FormMethod.Post); %> <%=Html.TextBox("productTextBox", "Enter a shoe name"); %> <input type="submit" name="createButton" value="Create Me!" /> <%=Html.EndForm(); %>
在ASP.NET MVC中使用按钮和文本框创建简单表单的“正确”方法是什么,并允许我将表单中的数据提交到/ Product / Create操作?
然后,我如何从该方法中访问表单数据?有些人似乎使用“FormCollection”而其他人只是使用Request.Form方法.我应该使用哪种方式?
有人可以开导我吗?
表单助手是推荐的方式,因为它允许您提供控制器,操作和其他路由数据,并且URL是根据您的路由自动生成的(在Global.asax中).优点是,如果您决定更改路线,则无需更新站点中的每个URL.我使用实际“< form>”的唯一原因标签是我是否需要额外控制我无法从Html.Form获得的标记(我现在想不到一个例子).即使您选择这样做,也应使用“Url.Action”帮助程序从路由数据中获取URL.例如:
<form action="<%= Url.Action("Create") %>">
至于你的第二个问题,我建议使用Model Binder.查看ScottGu’s Blog了解一些细节.