当我的剃须刀文件中有一个<iFrame/>
且其src
硬编码且没有前面的斜杠时,pdf在iFrame
内呈现良好:
<iframe src="UploadedPdfs/analytics.pdf"
width="800"
height="800"
runat="server"
id="iframepdf">
</iframe>
但是,如果我将src
设置为通过模型上的属性动态传递,则仅当我在路径前面加上正斜杠时才有效:
PdfView pView = (PdfView)ViewData["PdfView"];
string pRelativePath = pView.relativePath;
<iframe src=@( "/" + pRelativePath ) //pRelativePath when debugging is equal to UploadedPdfs/analytics.pdf
width="800"
height="800"
runat="server"
id="iframepdf">
</iframe>
这是上述变量传递路径的html,没有斜线的样子,这不呈现 pdf:
在变量值之前使用正斜杠,这是生成的html,可以罚款:
这是正常的/预期的吗?
答案 0 :(得分:0)
在您的最后一段代码中,您有一些奇怪的引号。应该是这样的:
@{
PdfView pView = (PdfView) ViewData["PdfView"];
string pRelativePath = pView.relativePath;
}
<iframe src="@pRelativePath"
width="800"
height="800"
runat="server"
id="iframepdf">
</iframe>
这在开头没有正斜杠的情况下可以工作,并且呈现出类似于您的第一段代码:
<iframe src="UploadedPdfs/analytics.pdf"
width="800"
height="800"
runat="server"
id="iframepdf">
</iframe>