使用GridMvc和ActionLink MVC C#隐藏查询字符串中的参数



我想知道是否有人能帮我,我遇到的问题是,当参数发布到另一个控制器时,我试图不在URL中显示该参数。我已尝试路由和更改ActionLink。如果有人能帮忙,我们将不胜感激。

我得到"/Accounts/ViewCustomer/Index/3316",我想隐藏3316

客户列表视图

   @Html.Grid(Model.CustomerList).Columns(columns =>
   {
       columns.Add(data => data.Referance).Titled("Reference").Sanitized(false).Encoded(false).Filterable(true).
       RenderValueAs(model => Html.ActionLink(model.Referance, "Index", "ViewCustomer",
       routeValues: new { id = model.CustomerID },
       htmlAttributes: new { id = "cust" }).ToHtmlString());
       columns.Add(data => data.Company).Titled("Company").Sanitized(false).Encoded(false).Filterable(true).
       RenderValueAs(model => Html.ActionLink(model.Company, "Index", "ViewCustomer", new { id =  model.CustomerID }, null).ToHtmlString());
   }).WithPaging(@ViewBag.Pagesize, @ViewBag.PageCountLimit).Sortable()

从视图中,int被过账到的客户控制器

    public ActionResult Index(int? id)
    {
        Paging paginginfo          = GridPageProvider.Pagesize();
        ViewData["Pagesize"]       = paginginfo.Pagesize;
        ViewData["PageCountLimit"] = paginginfo.PageCountLimit;
        SetCustomerInfo(id);
        if (_customerdetail.Contacts.Count != 0)
        {
            return View( _customerdetail);
        }
        else
        {
            return RedirectToAction("Index", "Home");
        }  
    }

在这种情况下,3316是URL的一部分,您不能隐藏它。但您可以将id作为参数发送(您需要更改路由),并使用POST方法将其隐藏在方法体中

最新更新