The server tag is not well formed
二重引用符内で二重引用符を使用しているため、エラーが発生し、attribute-name="value"
一種の構文が混乱します。ASP.NETコンパイラによって次のように解析されます
href="javascript:downloadFile('<%#Eval(" TempKey ") %>')">
TempKey は、値などのない別の属性として表示されます。
サーバー タグを削除すると、ASP.NET は html 要素の構文を解析せず、そのまま出力します (無効な html だけでなく、ブラウザーははるかに寛容です)。
おそらく、次のような単一引用符内で試してください。
href='javascript:downloadFile("<%#Eval("TempKey") %>")'
EDIT
上記でも、href 値にエスケープされていない二重引用符があるため、問題のある html が生成されます。だからこれを試してください:
href='javascript:downloadFile("<%#Eval("TempKey") %>")'
EDIT
データバインディング式が上記で評価されていないようです。Eval
書式設定にオーバーロードを使用する以下の式を試してください
href='<%# Eval("TempKey", "javascript:downloadFile("{0}")") %>'
EDIT
さらに別の方法は、コードビハインドメソッドを使用することです-たとえば、
href='<%# GetFileLink(Container.DataItem) %>)'
そしてコードビハインドで
protected string GetFileLink(object dataItem)
{
return string.Format("javascript:downloadFile('{0}');",
DataBinder.Eval(dataItem, "TempKey"));
}