2017-12-28 26 views
1
내가 생성하기 URL이

html.beingform는 해당 URL

<form action="/ctrl/action/5?name=a" method="post"> 

이지만이

로 생성해야

@using (Html.BeginForm("action", "ctrl", new { id = 5, name = "a" })) 

를 게시 할 URL을 생성하는 html.beingform을 사용하고

를 생성하지

<form action="/ctrl/action?name=a&id=5" method="post"> 

사용하는 구문에 어떤 문제가 있습니까 ??

편집

나는 위의 저 위의

@using (Html.BeginForm("action", "ctrl", new { @id = 5, name = "a" })) 

에러 여전히 URL 심지어

+0

먼저 'id'는 ASP.NET MVC에서 특별한 의미가 있으므로'[id] = 5'로 시도해 보겠습니다. –

+2

기본 경로는 이미 선택적인'id' 매개 변수를 정의하므로 쿼리 문자열 대신 경로에 추가됩니다. – Crowcoder

+0

@AndyG 작동하지 않습니다. –

답변

0

를 URL로 추가 않았다 준 의견

@using (Html.BeginForm("action", "ctrl", new { [id] = 5, name = "a" })) 

에 따라 구문 아래에 시도 like :

<form action="/ctrl/action/5?name=a" method="post"> 

경로 정의가 id에 5를 지정하므로 동작이 의도 한대로 작동하므로 문제가되지 않습니다.

여전히 질문 개방 유지, 그것은 미래

편집에 누군가가

이 "ID"하지 않고 다른 경로 정의를 정의 그것을 을

  • 를 해결하는 또 다른 방법입니다 도움이 될 수 있습니다
  • 을 호출하고 Html.BeginRouteForm ("newRoute", new {id = 5, name = "abcd"})을 호출하십시오.