我不明白,我的控制器里有我的:
[HttpGet]
public ActionResult Detail(int userId)
{
var user = ZincService.GetUserForId(userId);
if (user != null)
{
ViewBag.user = userId;
ViewBag.email = user.Email;
ViewBag.title = user.JobTitle;
ViewBag.node = user.Node;
}
return View(user);
}然后是我的观点,Detail.aspx
<div id="user-details-view">
<div>
Title:
</div>
<div>
<%: Model.JobTitle %>
<%: Model.News %>
<%: Model.Node %>
</div>
<div>
<%: Html.ActionLink("Change Email Address", "ChangeEmailAddress", new { @id = Model.UserId })%>
</div>
</div>当我运行我的应用程序时,我得到一个错误:
找不到该资源。描述: HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、已更改名称或暂时不可用。请检查以下URL并确保其拼写正确。
请求的URL: /Areas/Admin/Views/User/Detail.aspx
我不明白?是因为语法错误吗?
发布于 2012-10-18 16:05:50
您必须使用该sintax:
<%: ViewBag.email %>
<%: ViewBag.title %>
<%: ViewBag.node %>但是如果你使用Model会更好:
public class UserInfo
{
public int UserId { get; set; }
public string Email { get; set; }
public string Title { get; set; }
public NodeType Node { get; set; }
}
[HttpGet]
public ActionResult Detail( int userId )
{
var data = ZincService.GetUserForId( userId );
var user = new UserInfo();
if ( data != null )
{
user.UserId = userId;
user.Email = data.Email;
user.Title = data.JobTitle;
user.Node = data.Node;
}
return View( user );
}在带有razor sintax的视图(MVC3)中:
@model UserInfo
<div id="user-details-view">
<div>
Title:
</div>
<div>
@Model.Title
@Model.Node
</div>
<div>
@Html.ActionLink("Change Email Address", "ChangeEmailAddress", new { @id = Model.UserId })
</div>
</div>发布于 2012-10-18 15:53:42
之前的帖子在逻辑上是正确的,但您在控制器中以不同的方式分配了视图包名称。它应该是:
<div id="user-details-view">
<div>
Title:
</div>
<div>
<%: ViewBag.email %>
<%: ViewBag.title %>
<%: ViewBag.node %>
</div>
<div>
<%: Html.ActionLink("Change Email Address", "ChangeEmailAddress", new { @id = ViewBag.user })%>
</div>
</div>希望能有所帮助..。
发布于 2012-10-18 15:39:08
一定是这样的
<%: ViewBag.JobTitle %>
<%: ViewBag.News %>
<%: ViewBag.Node %>https://stackoverflow.com/questions/12949479
复制相似问题