gpt4 book ai didi

asp.net-mvc-4 - MVC 4 Partial 带有单独的 Controller 和 View

转载 作者:行者123 更新时间:2023-12-04 18:10:36 28 4
gpt4 key购买 nike

我已经开发 ASP.NET Forms 一段时间了,现在我正在尝试学习 MVC,但是如何让它做我想做的事情并没有完全的意义。也许我需要以不同的方式思考问题。这是我试图用一个虚构的例子来做的事情:

目标 - 使用部分文件,该文件可以放置在站点上接受参数的任何位置。该参数将用于转到数据库并将结果模型传回 View 。然后 View 将显示一个或多个模型属性。

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

文件: Controller /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);
}

文件: View /共享/_DisplayUserName.cs
@model DataLibrary.Models.User

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

文件: View /关于/Index.cshtml
@{
ViewBag.Title = "About";
}

<h2>About</h2>

{Insert Statement Here}

我知道此时我需要呈现一个名为 DisplayUserName 的部分,但它如何知道要使用哪个 View 以及如何将我的 userId 传递给部分?

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

在此先感谢您的帮助。

最佳答案

你应该像这样调用 Html.Action 或 Html.RenderAction :

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

你的 Action 应该是这样的:
[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-mvc-4 - MVC 4 Partial 带有单独的 Controller 和 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15161003/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com