【发布时间】:2013-06-01 05:38:45
【问题描述】:
我想在我的 mvc 项目的每个视图页面上放置一个随机图像。所以我创建了一个返回 partialView 的方法,并在共享布局页面中调用该方法。
当我尝试使用正确的用户名和密码登录时,这可以正常工作。用户已登录,每个页面都包含一个随机图像。但是当我给出用户名和密码的无效组合时。共享布局页面找不到我想用我的@Html.Action 调用的控制器,实际上登录视图应该返回错误消息“用户名和密码的无效组合”,当然还有随机图像。
内部异常:
{"在控制器 'Project.WebUI.Controllers.HomeController' 上找不到公共操作方法 'RandomSponsor'。"}
共享布局中的我的 Html.Action。
@Html.Action("RandomSponsor", "Home")
家庭控制器中的方法。
[HttpGet]
[ChildActionOnly]
public ActionResult RandomSponsor()
{
var model = service.getRandomSponsor();
return PartialView("RandomSponsor", model);
}
getRandomSponsor 方法工作正常,这个总是返回一个随机字符串值,该值返回给 RandomSponsor.cshtml 视图。
RandomSponsor.schtml(只包含图片字符串)
<img src="~/Content/Images/Advert/@(Model)" alt="a" />
我在网上搜索了这个问题,但没有找到解决方案,有人知道这个问题的答案吗? 可能是 HttpPost 的 HttpGet 的问题?
问候。
【问题讨论】:
-
你能发布你的路由表定义吗? (在 global.asax 中注册路由)以及具有 RandomSponsor() 操作的控制器定义。
-
我在使用 Mozilla Firefox 45 时遇到了同样的错误。用 Google Chrome 48.0.2564.116 m 做同样的事情,问题就消失了。就我而言,涉及到一些 JavaScript,我怀疑这是问题所在。
标签: asp.net-mvc asp.net-mvc-partialview