加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – MVC 4部分与单独的控制器和视图

发布时间:2020-12-16 07:12:23 所属栏目:asp.Net 来源:网络整理
导读:我已经开发了一段时间的ASP.NET Forms,现在我正在尝试学习MVC但是如何让它做我想做的事并没有完全意义.也许我需要以不同的方式思考问题.这是我正在尝试用一个简单的例子做的事情: 目标 – 使用部分文件,该部分文件可以放置在站点上接受参数的任何位置.该参
我已经开发了一段时间的ASP.NET Forms,现在我正在尝试学习MVC但是如何让它做我想做的事并没有完全意义.也许我需要以不同的方式思考问题.这是我正在尝试用一个简单的例子做的事情:

目标 – 使用部分文件,该部分文件可以放置在站点上接受参数的任何位置.该参数将用于转到数据库并将生成的模型传递回视图.然后,视图将显示一个或多个模型属性.

这不是我的代码,但显示了我正在尝试做的事情.

文件:Controllers / UserController.cs

[ChildActionOnly]
public ActionResult DisplayUserName(string userId)
{
MyDataContext db = new MyDataContext()

var user = (from u in db.Users where u.UserId = userId select u).FirstOrDefault();

return PartialView(user);
}

文件:Views / Shared / _DisplayUserName.cs

@model DataLibrary.Models.User

<h2>Your username is: @Model.UserName</h2>

文件:Views / About / Index.cshtml

@{
    ViewBag.Title = "About";
}

<h2>About</h2>

{Insert Statement Here}

我知道此时我需要渲染一个名为DisplayUserName的部分,但是它如何知道要使用哪个视图以及如何将userId传递给部分?

这是我期望的一个非常基本的问题,但我还没有找到一个涵盖这个问题的教程.

在此先感谢您的帮助.

解决方法

您应该调用Html.Action或Html.RenderAction,如:

@Html.Action("DisplayUserName","User",new {userId = "pass_user_id_from_somewhere"});

你的行动应该是这样的:

[ChildActionOnly]
public ActionResult DisplayUserName(string userId)
{
    MyDataContext db = new MyDataContext()

    var user = (from u in db.Users where u.UserId = userId select u).FirstOrDefault();

    return PartialView("_DisplayUserName",user);
}

这应该可以解决问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读