【发布时间】:2018-11-01 04:15:47
【问题描述】:
有没有办法在 MVC cshtml 页面中使用 if else 语句
<div class="primary-content">
if(DetectIE())
{
<embed data-bind="attr: { src: data.files()[currentPage()] + '#toolbar=0&navpanes=0&scrollbar=0' }" type="application/pdf" style="width: 100%; height: 800px !important;">
}
else
{
<object data-bind="attr: { data: data.files()[currentPage()] + '#toolbar=0&navpanes=0&scrollbar=0' }" type="application/pdf" width="100%" height="600px"></object>
}
</div>
我有一个 javascript 代码来检测当前浏览器是否是 Internet Explorer。如果是 IE 则使用<embed> 标签,否则使用<object> 标签。
任何建议或帮助将不胜感激。
提前致谢
【问题讨论】:
-
只需使用
@if (DetectIE()) { // embed tag } else { // object tag }语句。但是DetectIE()是做什么的呢? -
DetectIEit 是一种检测 Internet Explorer 的 JavaScript 方法
-
@if 将使用 c# if else 不是 javascript if else
-
不,你不能在 Razor
if语句中使用 JS 方法。将 if 语句放在<script>标记内,并在元素后附加$.append('<embed>...</embed>')之类的内容。 -
使用
Request.Browser来确定控制器中的浏览器可能更容易,然后只需将bool属性传递给您的视图,指示其是否为IE(作为视图模型属性或ViewBag属性)
标签: javascript c# asp.net-mvc razor