2013-11-01 19 views
1

我認爲我無法在此處看到樹木的森林。我想寫一個字符串。使用Linq to SQL我創建了一個結果,並通過循環來動態編寫錨標籤。將html錨文本(名稱/值對)寫入字符串

但是,代碼生成這樣的:

<a 45="" href="ADappointment.aspx?openingid">My person booked</a> 

我想:

<a href="ADappointment.aspx?openingid=45">My person booked</a> 

下面是我在做什麼:

foreach (var anOpening in results) 
    string sFlag = @""; 
    sFlag = @"<td><a href=""ADappointment.aspx?openingid=""" + anOpening.OpeningId + ">" + patient.FirstName + " " + patient.LastName + " accepted </a></td>"; 

...

我究竟做錯了什麼?

+0

你在瀏覽器不指望你的href中有引號。 –

+0

是的,你是對的。我一直在搜索如何做到這一點,這與我已經接近。但這是錯誤的。我嘗試了沒有'@'並使用了反斜槓,但我仍然在做錯事。你知道如何創建這些類型的字符串嗎? – user995727

+0

嘗試轉義多餘的引號'\「」+'。 – Killrawr

回答

0

你在你的href值中引用了瀏覽器不期望的所以它完全不正確地渲染它。

你是生產這樣的:

href="urlhere.aspx?id="99""

注意周圍的ID引號。從你的代碼中刪除這些。你想要的東西是這樣的:

sFlag = @"<td><a href=""ADappointment.aspx?openingid=" + anOpening.OpeningId + """>" + /* the rest here */ 

理想情況下,你會用庫來做到這一點。 MVC程序集中有一個TagBuilder類。

+0

它可能很接近,錯誤信息爲:「CS1002:; expected」 – user995727

0

使用String.Format來清楚地設置字符串的格式。

foreach (var anOpening in results) 
{ 
    var sFlag = String.Format(@"<td><a href=""ADappointment.aspx?openingid={0}"">{1} {2} accepted </a></td>", anOpening.OpeningId, patient.FirstName, patient.LastName); 
}