ASP.NET MVC ACTIONLINK에서 DataView 값을 인코딩합니다
-
05-09-2019 - |
문제
<h3>{{ID}}</h3>
<p>{{Address}}</p>
그러나 ID가있는 작업 링크를 작성하려고합니다.
<h2><%= Html.ActionLink(Html.AttributeEncode("{{Name}}"), "Index", "Restaurant", new { Id = Html.AttributeEncode("{{ID}}") }, null)%></h2>
이름은 내가 원하는대로 링크 텍스트로 표시되지만 링크에는 ID가 포함되어 있지 않으며 대신%7b%7bold%7d%7d가 있습니다.
ID를 올바르게 구문 분석하고 링크에 추가하는 방법은 무엇입니까?
해결책 2
마침내 작동하게되었는데, 내가 어리석은 지 또는 문서가 부족한 지 모르겠지만 다음은 DataView 값을 링크에 바인딩하는 방법이 있습니다.
<h2><a sys:href="{{'Restaurant/Index/' + ID}}">{{Name}}</a></h2>
다른 팁
여분의 괄호가 던질 수 있습니다. 변수에 값을 할당하고 ActionLink의 변수를 사용해보십시오. 보기 상단에서 과제를 수행 한 다음 시야 전체에서도 재사용 할 수 있습니다. 어디서나 그들을 다시 인센트하지 않아도됩니다.
<% var id = Html.AttributeEncode( "{{ID}}" );
var name = Html.AttributeEncode( "{{Name}}" );
%>
<h2><%= Html.ActionLink(name, "Index", "Restaurant", new { Id = id }, null)%></h2>
포함해야 할 모범 사례 '<%= Url.Action("Index", "Restaurant")%>'
응용 프로그램 이름 및 충돌하는 URL의 문제를 피하기 위해 수동 URL을 구입할 때.
제휴하지 않습니다 StackOverflow