asp.net - ASP.NET iFrame src 需要前面的正斜杠,硬编码路径不需要
问题描述
当我的<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,它呈现得很好:
这是正常/预期的吗?
解决方案
您的最后一段代码中有一些奇怪的引号。它应该是这样的:
@{
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>
推荐阅读
- c - 在 gcc make 的最后一步发生错误
- c# - Giving nulls when top N is less than N
- r - 根据其他数据框提取列表上的数据框行
- css - 为不带标签的 Bootstrap 4 复选框设置样式
- python - OpenCV ORB 描述符 compute() Python 方法为给定的关键点列表返回 None 和 no keypoints
- c# - Xamarin.Forms 中的全局异常处理
- java - 如何修复网格视图水平并使列表视图可水平滚动?
- python - 如果驱动程序是 self.broswer,JavascriptExecutor 会给出错误
- java - 为局部变量赋值配置 CheckStyle 而不是 final
- r - 按R中的间隔计算列的平均值