📅  最后修改于: 2023-12-03 14:58:02.192000             🧑  作者: Mango
当使用 ASP.NET MVC 的 ActionLink 方法传递对象时,需要使用路由值或查询字符串来实现。以下是一个示例,展示如何通过 ActionLink 传递一个对象。
首先,创建一个具有以下属性的Person类(简化示例):
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
接下来,在控制器中创建一个Action,该Action接受Person对象作为参数:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Details(Person person)
{
return View(person);
}
}
然后,在视图中使用ActionLink方法传递Person对象:
@{
var person = new Person { Name = "John", Age = 30 };
var linkText = "View Details";
var actionName = "Details";
var controllerName = "Home";
var routeValues = new { person.Name, person.Age };
}
@Html.ActionLink(linkText, actionName, controllerName, routeValues, null)
上述代码中,我们创建了一个Person对象,并将其属性作为路由值传递给Details Action。ActionLink 方法会生成一个链接,点击链接后会将Person对象传递给Details Action。
请注意,上述示例中使用了匿名对象作为路由值。根据你的具体需求,你也可以将其替换为自定义的RouteValueDictionary。
最后,接口所请求的目标Action将接收到Person对象,并将其传递给相应的视图进行显示。例如,在Details视图中,可以这样显示Person对象:
@model Person
# Person Details
Name: @Model.Name
Age: @Model.Age
请注意,此示例中使用了Markdown格式进行说明。你可以使用Markdown标记将代码片段显示为代码块,提供更好的可读性和引用。