mvc3+Razor 开发的网站,不知道为什么一个页面要加载两次控制器

stormwen 2011-10-08 11:56:05
第一次使用mvc3+Razor开发网站
发现一个很郁闷的问题。
其中一个页面,只要加了一段代码。页面就会两次请求该页面的控制器。

控制器代码如下:

public ActionResult Index(string Key)
{
if (Key == null)
Key = "top";
ViewData["topArt"] = db.Article.GetTopModel(Key); //获取一篇置顶文章
return View();
}


csHtml页面代码

@{
Syd.Data.Article topArt = ViewData["topArt"] as Syd.Data.Article;
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "info";
}
@Html.Partial("/Views/Shared/top1.cshtml");

....省略无错的html....




<!--以下的代码,如果加载到页面,就会重复请求控制器,而且传参会丢-->
@{
if (topArt != null)
{
<div class="ny_r_2">
<img src="@topArt.ThumbImage" />
<div style="height: 142px; overflow: hidden;">
<p>
<span>@topArt.Title</span></p>
<p>
@topArt.Description</p>
</div>
<a href="/Channel/Info/@topArt.id" style="padding-left: 390px;">[阅读全文]</a>
</div>
}
}



以上的代码,如果加载到页面,就会重复请求控制器,而且传参会丢
删除这段,就不会重复请求控制器,请问这是怎么回事?
...全文
265 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
stormwen 2011-10-14
  • 打赏
  • 举报
回复
跟踪 了,就是找不到原因,
现在还是这样的,要加载两次,删除if那一段,就没有问题了
郁闷
stormwen 2011-10-14
  • 打赏
  • 举报
回复
是IIS6
但是现在用的是vs的开发环境

并没有通过IIS访问
webdiyer 2011-10-14
  • 打赏
  • 举报
回复
楼主是不是IIS6.0或者加了通配符映射?
stormwen 2011-10-14
  • 打赏
  • 举报
回复


汗, 发现问题了

今天出现类似问题,排查无数次后,发现居然是 html的兼容性错误,造成了控制器的重复请求

如上图,<img> 这里我没有写 alt 属性,所以重复请求了控制器,

当我删除这个图片后,就解决问题了

然后我又给图片加上 alt属性,也通过。

可是郁闷的是,这个并不是绝对的,有的时候,页面有兼容问题,就不会出现重复请求
nullnullcao 2011-10-09
  • 打赏
  • 举报
回复
调试跟踪下,看看是哪里出问题了
stormwen 2011-10-08
  • 打赏
  • 举报
回复
对了,还有虽然重新加载了控制器(第二次加载,因为缺少参数,程序会报错)

但是前台页面能正常显示。(第一次加载就出错 的话,页面会是错误提示代码)
stormwen 2011-10-08
  • 打赏
  • 举报
回复
顶。。。
细嗅蔷薇 2011-10-08
  • 打赏
  • 举报
回复
没碰到过哦,调试的时候是进入if里面输出值后又回去加载了一遍么?
stormwen 2011-10-08
  • 打赏
  • 举报
回复
您好,这样不行,我已经试验过了,好像和if没有关系。
细嗅蔷薇 2011-10-08
  • 打赏
  • 举报
回复
 @if (topArt != null)
{
<div class="ny_r_2">
<img src="@topArt.ThumbImage" />
<div style="height: 142px; overflow: hidden;">
<p>
<span>@topArt.Title</span></p>
<p>
@topArt.Description</p>
</div>
<a href="/Channel/Info/@topArt.id" style="padding-left: 390px;">[阅读全文]</a>
</div>
}

试试

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧