相关疑难解决方法(0)

使用Html.ActionLink在不同的控制器上调用操作

我正试图在控制器之间导航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)

asp.net-mvc

220
推荐指数
6
解决办法
21万
查看次数

.NET MVC - 从另一个控制器操作调用控制器Action

我有一个控制器动作,我想称之为另一个控制器动作.

这是一件有效的事吗.可能吗?

asp.net-mvc controller

31
推荐指数
2
解决办法
4万
查看次数

具有复杂深层对象的RedirectToAction(..)失败

我正在尝试将一个对象从一个控制器动作传递给另一个.我传递的对象或多或少看起来像这样:

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.

以前有没有人见过这种行为?

干杯,

彼得

asp.net-mvc

9
推荐指数
2
解决办法
6960
查看次数

标签 统计

asp.net-mvc ×3

controller ×1