2014-11-22 2 views
0

두 가지 버튼 "삭제"및 "편집"이있는 양식이 있습니다. 어떤 버튼이 요청을 제출했는지 확인하려면 게시물에서 ... 두 가지 방법 중 어느 것이 더 낫지 만 차이가 있거나 둘 다 같습니까?어느 것이 더 낫거나 둘 다 같습니까?

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

답변

1

는이

<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> 
같은 HTML을 갖고 있다고 할 수 있습니다 당신은 저장에 대한 작업과 편집을 분리해야합니다

여기에는 두 개의 버튼이 있으며 편집 및 삭제 작업이 있습니다. 당신은 서버 측에서 양식을 제출할 때 지금 당신은 당신이 요소가 클릭 중

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

처럼 액세스 할 수있는 형태로 수집 paramerters에서 클릭 한 요소를 가질 수 있습니다, 다른 요소는 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      
} 

희망이 도움이 되었습니까? :)

1

이 값이 ASP MVC 인 경우 두 방법 모두 올바르지 않습니다. 지수는 'lastAction'매개 변수를 확인할 수 있습니다보기에,

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' }); 
} 

다음 :

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

이것은 mvc가 아닙니다 .... 나는 asp.net 웹 페이지 면도날 –

+0

@GautamSharma에서 이것을 사용하고 있습니다. 백엔드 * .cs 파일에서 왜 그렇게하지 않습니까? 지금까지 * .aspx 뷰에서 논리를 수행 할 이유가 없다는 것을 알고 싶다면 저장/편집 작업에 적절한 이벤트 처리기를 사용하십시오. 그러면 더 많은 코드를 표시 할 수 있습니다. 뭔가를 놓친 것일 수도 있습니다. – Ivan

+0

아무 것도 놓치지 않았습니다. 이것은 webmatrix의 .cshtml 페이지입니다 ... classic asp와 같습니다. 동일한 파일의 코드 및 프론트 엔드 ... 코드가 @ {} 블록 아래에 위치합니다. –