哪一个更好或两者相同?

时间:2014-11-22 06:08:55

标签: asp.net razor asp.net-webpages

我有一个有2个按钮的表单"删除"并且"编辑" ..在帖子上检查哪个按钮提交了请求...两种方法中哪一个更好并且是否有任何差异或两者相同?

@if(isPost){
   if(!Request["buttonDelete"].IsEmpty()){
          //Do something
   }
  if(Request["btn"].Equals("buttonDelete")){
    //do something
  }
}

2 个答案:

答案 0 :(得分:1)

如果这是ASP MVC,则这两种方法都不正确。您必须为保存和编辑分别执行操作:

public ActionResult Edit(Entity item){
    // do stuff
    return RedirectToAction('Index', new { lastAction = 'Edit' });
}

public ActionResult Save(Entity item){
    // do stuff
    return RedirectToAction('Index', new { lastAction = 'Delete' });
}

然后,在索引视图中,您可以检查' lastAction'参数:

@{
  if(!Request.Params["lastAction"] == "Delete"){
    //do something
  } else if(Request["lastAction"] == "Edit"){
    //do something
  }
}

答案 1 :(得分:1)

假设您有像这样的HTML

<form method="post">
    <input type="text" name="txtName" value="Vishal" />
    <input type="submit" name="btnEdit" value="Edit" />
    <input type="submit" name="btnDelete" value="Delete" />
</form>

这里有两个按钮,有编辑和删除操作。现在,当您在服务器端提交表单时,您可以在表单集合参数之下单击元素,您可以访问

Request.Params["btnDelete"]
Request.Params["btnEdit"]

单击任何元素,另一个元素将为null

   Request.Params["btnEdit"] will become null when you click on Delete button
same way Request.Params["btnDelete"] will become null when you click on Edit button

您可以查看

if (!string.IsNullOrEmpty(Request.QueryString["Edit"]))
{
 // do edit                       
}
希望有所帮助! :)

相关问题