2016-06-13 8 views
-1

Ich versuchte item.DetailPageURL hinzuzufügen, die eine URL in dieser Ansicht href ist:Wie man Viewbag Parameter in einem href hinzufügen?

<h2>Search for @ViewBag.Keyword</h2> 

@for(int i = 0; i < 13; i++) 
{ 
var item = ViewBag.SearchedItems[i]; 
<div> 
<h2>@item.Title</h2> 
<img src="@item.SmallImage" alt="Image is missing"/> 

<p>Items price:</p> 
<p>@item.Price</p> 
<p>@item.CurrencyCode</p> 
<p><a href='@item.DetailPageURL'></a>Details</p> 
<p>@item.CustomerReview</p> 
</div> 
<hr> 
} 

aber es funktioniert nicht. Was mache ich falsch?

+0

was meinst du mit "es funktioniert nicht"? – techspider

Antwort

0

Wie Sie sehen können, ist das Problem in HTML.

Die Verknüpfung ist aktiv, aber sie wird nicht angezeigt, da "Details" außerhalb des Tags steht. sollte wie folgt sein:

<p><a href="@item.DetailPageURL">Details</a></p> 

Vielen Dank im Voraus!

0

Sie sprechen über die folgende Zeile. Ist Ihnen aufgefallen, dass Sie das einfache Zitat ' verwendet haben? In diesem Fall wird die Variablensubstitution nicht tatsächlich stattfinden.

<p><a href='@item.DetailPageURL'></a>Details</p> 

Sie müssen doppelte Anführungszeichen verwenden " wie

<p><a href="@(item.DetailPageURL)"></a>Details</p> 

Auch ich würde die ViewBag.SearchedItems gieße es tatsächliche Typ ist und verwenden Sie einen foreach Schleife eher unter wie (vorausgesetzt, es ist List<string> Typ)

foreach(var item in (List<string>)ViewBag.SearchedItems) 
{ 
    // add to the view 
} 
+0

Sehr interessant, weil ich das auch probiert habe, aber nicht funktioniert hat. –

+0

und (Liste ) Typ gibt mir einen Fehler bei der Kompilierung. –

+0

@AleksandrVlasjuk, 'Liste ' ist nur ein Beispiel. Wirf es auf den genauen Typ deiner 'ViewBag'-Eigenschaft. – Rahul

Verwandte Themen