ASP.NET MVC 면도기 페이지에 양식이 필요합니다. 내 기본 설정은 다음 구문을 사용하는 것입니다.HTML 속성을 Html.BeginForm()에 추가 할 때의 변형
@using (Html.BeginForm())
{
}
그러나 양식에 여러 특성이 추가되어야합니다. 그래서 나는 다음과 같은 것으로 끝을 맺었다 :
@using (Html.BeginForm(null, null, FormMethod.Post, new { name = "value" }))
{
}
그러나 이것은 바람직하지 않은 부작용을 가지고있다. 이 페이지의 요청에 쿼리 인수가있는 경우 첫 번째 양식은 양식이 제출 될 때이를 전달합니다. 그러나 두 번째 버전은 그렇지 않습니다.
나는 왜 BeginForm()
이 속성을 지원하지 않는지 정말로 모르지만 BeginForm()
에 속성을 추가하는 간단한 방법이 있으며 for가 제출 될 때 여전히 모든 쿼리 인수를 전달합니까?
편집 :이 구문을 사용하는 경우
<form action="@Request.RawUrl" method="post" name="value">
</form>
그러나, 클라이언트 측 유효성 검사가 비활성화 :
이에보고 후, 최고의 솔루션이 같은 것입니다 보인다. 더 복잡하고 잠재적으로 신뢰할 수없는 구조가 없으면이 상황에 대한 좋은 해결책이없는 것 같습니다.
감사 @Darin . 'IncrementFormCount','DefaultFormIdGenerator','FormHelper'가 무엇을하는지 조금 설명해 주시겠습니까? –
@JonathanWood, FormHelper는 TagBuilders를 사용하여 '
감사. 그것은 작동하는 것 같습니다. 그러나 받아 들일 수있는'BeginForm()'버전과의 모호함을 피하기 위해 사용법을'@using (Html.BeginForm (HtmlHelper.AnonymousObjectToHtmlAttributes (new {@class = "form-horizontal"}))) 그냥 경로 값. –