我正试图在控制器之间导航ActionLink.我将以一个例子告诉我的问题.
我在Hat控制器的索引视图上,我正在尝试使用下面的代码创建一个指向Product控件的Details操作的链接.
<%= Html.ActionLink("Details", "Details", "Product", new { id=item.ID }) %>
Run Code Online (Sandbox Code Playgroud)
这不会创建指向Product控件上的Details的链接,而是在Hat控制器下生成一个指向Details操作的链接,并将Length参数附加到它的末尾:
Hat/Details/9?Length=7
Run Code Online (Sandbox Code Playgroud)
HTML.ActionLink由于这个问题,我无法在控制器之间切换.如果你能指出我做错了什么,我将不胜感激.谢谢
PS:我使用的是MVC附带的默认路由设置
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" } );
Run Code Online (Sandbox Code Playgroud) 我有一个控制器动作,我想称之为另一个控制器动作.
这是一件有效的事吗.可能吗?
我正在尝试将一个对象从一个控制器动作传递给另一个.我传递的对象或多或少看起来像这样:
public class Person
{
public string Name { get; set; }
public List<PhoneNumber> PhoneNumbers {get; set; }
public List<Address> Addresses { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的控制器看起来像这样:
public class DialogController : Controller
{
public ActionResult Index()
{
// Complex object structure created
Person person = new Person();
person.PhoneNumbers = new List();
person.PhoneNumbers.Add("12341324");
return RedirectToAction("Result", "Dialog", person);
}
public ActionResult Result(Person person)
{
string number = person.PhoneNumbers[0].ToString();
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
结果方法因空指针异常而失败,因为在使用RedirectToAction()方法调用Result操作后,PhoneNumbers列表突然为null.
以前有没有人见过这种行为?
干杯,
彼得