我正在阅读一些有关 ASP.NET 网页 2 的教程,发现一些令人困惑的内容
<form method="post">
@Html.ValidationSummary()
<div>
<label for="coursename">Course name: </label>
<input type="text" name="coursename" value="@Request["coursename"]" />
@Html.ValidationMessage("coursename")
</div>
...
在这种情况下仅使用 Request["fieldname"] 而不是 Request.Form["fieldname"] “正确”吗?我理解(如果错误请更正)该请求还将检查查询字符串中的字段,而 request.form 只会检查表单的字段。
这可能会产生任何类型的错误/安全问题...请求的使用是好是坏...?
最佳答案
如果您使用@Request[key]
请求一个值,那么框架将按照以下步骤搜索值(如果没有找到,则进入下一步):
Request.QueryString[key]
Request.Form[key]
Request.Cookies[key]
Request.ServerVariables[key]
但我认为直接从您想要的集合中获取您的值(value)是一个更好的选择。这更有利于我们应用程序的安全性,也更有利于维护。
更新:我写了一篇关于此的博文 on my blog .
关于c# - asp.net 网页中 Request 和 Request.Form 的良好实践 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22407309/