joh*_* Gu 0 asp.net entity-framework asp.net-mvc-3
我正在阅读微软网站上有关如何显示或隐藏对象的"注册"链接的示例,具体取决于当前用户是否已注册.只有当前用户尚未注册时,他们才会将以下代码添加到视图中以显示"注册"链接: -
<div id=”rsvpmsg”>
<% if (Request.IsAuthenticated) { %>
<% if (Model.IsUserRegistered(Context.User.Identity.Name)) { %>
<p>You are registered for this event!</p>
<% } else { %>
<%: Ajax.ActionLink( “RSVP for this event”,
“Register”, “RSVP”,
new { id=Model.DinnerID },
new AjaxOptions { UpdateTargetId=”rsvpmsg” }) %>
Run Code Online (Sandbox Code Playgroud)
然后在注册动作方法上,他们也执行相同的检查以检查用户是否已经注册,如下: -
[Authorize, HttpPost]
public ActionResult Register(int id) {
Dinner dinner = dinnerRepository.GetDinner(id);
if (!dinner.IsUserRegistered(User.Identity.Name)) {
RSVP rsvp = new
RSVP();
// .....
Run Code Online (Sandbox Code Playgroud)
所以我的问题是为什么他们再次对Post动作方法执行相同的检查,,,用户是否有机会调用POST注册动作方法,而不是单击如果用户已经不会显示的注册链接注册?...所以为什么不考虑
if (!dinner.IsUserRegistered(User.Identity.Name))
Run Code Online (Sandbox Code Playgroud)
检查动作方法是否必要?BR
归档时间: |
|
查看次数: |
62 次 |
最近记录: |