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); } 这应该可以解决问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – K运行时使用的.Net完整框架和.Net Core Framewo
- asp.net-mvc – 将http://mydomain.com/ctrlr/act/val转发到
- asp.net-mvc – 如何在ASP.NET MVC 2 RC中编写自定义客户端
- asp.net-mvc-3 – 放置模板视图和骨干视图代码的最佳实践是
- asp.net-mvc – Razor视图引擎:复杂循环和HTML
- asp.net – 是否有可能过滤SignalR中的接收器?
- ASP.NET无法摆脱“500-内部服务器错误”
- asp.net – 是否可以使用具有强类型资源的LabelFor,Validat
- asp.net-web-api – 默认请求标头不接受任何值,它始终为nul
- ASP.NET:如何将HtmlAnchor转换为静态文本?