【问题标题】:Hide the parameters in query string using GridMvc and ActionLink MVC C#使用 GridMvc 和 ActionLink MVC C# 隐藏查询字符串中的参数
【发布时间】:2015-11-17 16:47:28
【问题描述】:

我想知道是否有人可以帮助我,我遇到的问题是当参数发布到另一个控制器时,我试图不在 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");
        }  
    }

【问题讨论】:

    标签: c# post model-view-controller razor datagrid


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-11-08
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多