내 Profile.cshtml에 저장 및 취소라는 두 개의 버튼이 있습니다. 이제 내 방법은 다음과 같습니다.양식 저장 및 취소 버튼
[HttpPost]
public ActionResult Profile()
{
//code..
}
이렇게하면 레코드를 데이터베이스에 저장합니다. 그러나 문제는 취소가 여기에 게시되기 때문에 레코드가 데이터베이스에 저장됩니다. 어떻게해야합니까?
내 Profile.cshtml에 저장 및 취소라는 두 개의 버튼이 있습니다. 이제 내 방법은 다음과 같습니다.양식 저장 및 취소 버튼
[HttpPost]
public ActionResult Profile()
{
//code..
}
이렇게하면 레코드를 데이터베이스에 저장합니다. 그러나 문제는 취소가 여기에 게시되기 때문에 레코드가 데이터베이스에 저장됩니다. 어떻게해야합니까?
나는 종종 볼에 전달되는 뷰 모델 클래스를 사용하고, 그 뷰 모델에서 내가 가진 :
이[HttpPost]
public ActionResult Save(MyViewModel inputViewModel)
{
if(inputViewModel.SaveButtonClicked()) {}
blah.......
}
내보기이
@using (Html.BeginForm())
{
// Other stuff.
<input type="submit" name="submit" value="Save" />
<input type="submit" name="submit" value="Cancel" />
}
처럼 보이는 컨트롤러에서 다음
public string submit { get; set; }
public bool SaveButtonClicked()
{
return this.submit.Equals("save");
}
public bool CancelButtonClicked()
{
return this.submit.Equals("cancel");
}
나를 위해 정말 잘 작동합니다. 제출 단추에 동일한 이름을 사용하게하면 두 이름 중 하나를 누를 때 해당 이름이 submit
viewmodel 속성에 전달됩니다. 이름이 중복되는 것이 나쁜 생각인지는 모르겠지만 내 요구에 대해서는 괜찮습니다.
정확히 내가 무엇을 찾고 있었습니까. 고마워요 제이슨 – Jaggu
probs, 다행스럽게 도울 수 :) –
취소 버튼처럼 type
속성이 submit
으로 설정되어있는 것 같습니다. 그러면 저장 버튼을 누르는 것처럼 양식이 제출됩니다.
스스로에게 묻어야 할 질문은 '취소'버튼에 무엇을 하시겠습니까? 폼을 완료하지 않은 경우 다른 페이지로 이동하는 버튼을 만드는 것이 더 좋을 수 있습니다. 그렇지 않으면 ActionResult를 가리 키기 위해 리디렉션을 수행해야합니다.
언제든지 문의하십시오.
보기에는 각 양식의 동작이 컨트롤러의 관련 작업 방법에 게시되는 2 개의 양식 (각 단추마다 하나씩)이있을 수 있습니다. 예를 들어,보기 : 컨트롤러에서 다음
@using (Html.BeginForm("Save", "Profile"))
{
<input type="submit" value="Save"/>
}
@using (Html.BeginForm("Cancel", "Profile"))
{
<input type="submit" value="Cancel"/>
}
:
[HttpPost]
public ActionResult Save()
{
...
}
[HttpPost]
public ActionResult Cancel()
{
...
}
어떻게 버튼 양식을 제출 취소? 저장 및 취소 버튼 코드를 게시 할 수 있습니까? – Ali