سؤال

أنا باستخدام Microsoft اياكس قالب DataView إلى ربط القيم إلى قالب.أستطيع أن أفعل هذا و يعمل كما كنت تتوقع:

<h3>{{ID}}</h3>
<p>{{Address}}</p>

لكن أنا أحاول بناء عمل الرابط الذي يحتوي على معرف في ذلك.

<h2><%= Html.ActionLink(Html.AttributeEncode("{{Name}}"), "Index", "Restaurant", new { Id = Html.AttributeEncode("{{ID}}") }, null)%></h2>

الاسم كما هو مبين في وصلة النص كما أردت ولكن الرابط لا تشمل ID, بدلا من ذلك يجب %7B%7BID%7D%7D

كيف يمكنني الحصول على معرف بشكل صحيح تحليل وأضاف أن الارتباط ؟

هل كانت مفيدة؟

المحلول 2

أخيرا حصلت على عمل ، أنا لا أعرف ما إذا كنت غبيا أو إذا كان عدم وجود وثائق ولكن هنا هو كيفية ربط dataview قيمة a link.

 <h2><a sys:href="{{'Restaurant/Index/' + ID}}">{{Name}}</a></h2>

Url الفعلي الطريق جزء يجب أن يكون في واحدة ونقلت تحتاج إلى استخدام sys:href بدلا من href.

نصائح أخرى

من الممكن أن تكون الأقواس الإضافية رميها. حاول تعيين القيم للمتغيرات واستخدام المتغيرات في 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 المتضاربة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top