2

我的 asp.net mvc4 应用程序有问题:

我将两个整数作为参数传递给一个动作:

<a>@Html.ActionLink(s, "Gerer_Sequence", "Travail", new { seq = Model[k][i].Id_séquence , affa = aff.Id_affaire } )</a>

行动是:

public ActionResult Gerer_Sequence(int seq,  int affa)
{
    Session["affaire"] = affa;
    Session["sequence"] = seq;
    return RedirectToAction("Index", "Calendar");
}

问题是参数是null它的值3并且1在模型中。

那么问题是什么?如何修改我的代码以修复错误?

4

5 回答 5

1

试试这个。

   <td>
                        @Html.ActionLink("EditUser", "Index", new { Id = m.ID,Name = m.Name })
                    </td>


  public ActionResult Index(string Id, string Name)
        {
            var model = new RegisterModel();
            int _ID = 0;
            int.TryParse(Id, out _ID);
            if (_ID > 0)
            {
                RegisterModel register = GetRegisterUserById(_ID);
                model.ID = _ID;
                model.Name = register.Name;
                model.Address = register.Address;
                model.PhoneNo = register.PhoneNo;

            }
            return View(model);
        }
于 2013-07-02T12:58:14.000 回答
1

你只需要改变这个:

new { seq = Model[k][i].Id_séquence , affa = aff.Id_affaire }

对此:

new RouteValueDictionary { { "seq", Model[k][i].Id_séquence }, { "affa", aff.Id_affaire } }

因为您使用的第四个参数是路由值。

于 2013-07-02T12:59:07.227 回答
1

试试这个:

@Html.ActionLink(s, "Gerer_Sequence", "Travail", new { seq = Model[k][i].Id_séquence , affa = aff.Id_affaire }, null )
于 2013-07-02T13:08:52.800 回答
1
  • 移除标签
  • 确保您提供的参数是 int 值。
  • 之后运行您的应用程序并检查生成的链接,如果值正常,那么应该没问题。
于 2013-07-02T14:04:49.577 回答
0

我将动作放在同一个控制器中:

@Html.ActionLink("Gerer Sequence", "Gerer_Sequence", new { seq = Model[k][i].Id_séquence , affa = aff.Id_affaire } )
于 2013-07-02T13:29:47.327 回答