我想根据是否启用javascript来在部分视图中呈现特定的HTML。我的想法是如何检测javascript是否已启用并将其存储在会话变量中,然后我可以在我的视图中测试它,例如,ASP.NET MVC2 - 检测JavaScript,将结果存储在会话变量中
<div class="product">
<%
// if Javascript is enabled, load the images asynchrously, otherwise load them directly.
string imgHtml = "<img id=\"myImage\" src=\"{0}\" alt=\"MyImage\" />";
if ((bool)Session["jsEnabled"])
imgHtml = String.Format(imgHtml, Url.Content("~/Content/images/ajax-loader.gif") + "\" onload=\"loadImageAsync(this, '" + Url.Content("~/Content/images/" + Model.thumbnail) + "')");
else
imgHtml = String.Format(imgHtml, Url.Content("~/Content/images/image.jpg"));
%>
<div><%= imgHtml %></div>
</div>
从我读书最多的,似乎可以用一个隐藏字段,并设置它在JavaScript值建议,但是,我不太明白,我怎么能得到这个在MVC工作,除非我的地方发布数据(这个特定的视图不在表单中)。
我想要做的是让图像加载异步,如果启用JavaScript,否则加载图像的页面。加载的正常图像是非常大的jpeg(这种局部视图是为每个图像呈现图像),因此确实要加载基本HTML例如src =“image.jpg”,是否会取消任何性能提升? – James 2010-08-18 23:44:01