Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过post请求传递值以隐藏URL?_C#_Asp.net_Asp.net Mvc_Post_Http Post - Fatal编程技术网

C# 如何通过post请求传递值以隐藏URL?

C# 如何通过post请求传递值以隐藏URL?,c#,asp.net,asp.net-mvc,post,http-post,C#,Asp.net,Asp.net Mvc,Post,Http Post,我想在单击编辑按钮时隐藏url。 我试图使用@Html.ActionLink来实现它,但我得到了如下结果 http://localhost:57098/Home/Edit/1我需要这个结果:http://localhost:57098/Home/Edit 我也尝试通过输入,但当我点击输入按钮时,我没有任何效果。 请帮我找出错误并正确地提出post请求。 我的控制器 [Authorize] public ActionResult Index()

我想在单击编辑按钮时隐藏url。
我试图使用
@Html.ActionLink
来实现它,但我得到了如下结果
http://localhost:57098/Home/Edit/1
我需要这个结果:
http://localhost:57098/Home/Edit

我也尝试通过
输入
,但当我点击输入按钮时,我没有任何效果。
请帮我找出错误并正确地提出post请求。
我的控制器

    [Authorize]
            public ActionResult Index()
            {
 IEnumerable<LPU> lpuv = kz.LPUs.Where(x => x.Code == HttpContext.User.Identity.Name).ToList();
                return View(lpuv);

            }

            [Authorize]
            [HttpPost]
            [ValidateAntiForgeryToken]
            public ActionResult Index(LPU lpusi)
            {
                return RedirectToAction("Edit", "Home" , new { ogrn = lpusi.M_NAMES });

            }

            [Authorize]
            [HttpGet]
            public ActionResult Edit(string ogrn)
            {
                var lpue = kz.LPUs.Where(x => x.C_OGRN.Contains(ogrn)).FirstOrDefault();
                return View(lpue);
            }   
[授权]
公共行动结果索引()
{
IEnumerable lpuv=kz.LPUs.Where(x=>x.Code==HttpContext.User.Identity.Name).ToList();
返回视图(lpuv);
}
[授权]
[HttpPost]
[ValidateAntiForgeryToken]
公共行动结果索引(LPU lpusi)
{
返回RedirectToAction(“编辑”、“主页”,新的{ogrn=lpusi.M_NAMES});
}
[授权]
[HttpGet]
公共操作结果编辑(字符串ogrn)
{
var lpue=kz.LPUs.Where(x=>x.C_OGRN.Contains(OGRN)).FirstOrDefault();
返回视图(lpue);
}   
我的看法是:

  @model IEnumerable<LpuList.Models.LPU>

  ...

 <table class="table">
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.M_NAMES)
            </th>

            <th>
                @Html.DisplayNameFor(model => model.FAM_GV)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.TEL)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.FAX)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.E_MAIL)
            </th>
            <th></th>
        </tr>

        @foreach (var item in Model)
        {
            <tr>

                <td>
                    @Html.DisplayFor(modelItem => item.M_NAMES)
                </td>

                <td>
                    @Html.DisplayFor(modelItem => item.FAM_GV)
                </td>

                <td>
                    @Html.DisplayFor(modelItem => item.TEL)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.FAX)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.E_MAIL)
                </td>
                <td>
                <input type="submit" value="Submit" formaction=@Url.Action("Index") formmethod="post">
                    @Html.ActionLink("Изменить", "Edit", new { ogrn = item.M_NAMES }, new { @class = "btn btn-primary btn-large" })
                </td>
            </tr>
        }

    </table>
...
@model IEnumerable
...
@DisplayNameFor(model=>model.M_名称)
@DisplayNameFor(model=>model.FAM\u GV)
@DisplayNameFor(model=>model.TEL)
@DisplayNameFor(model=>model.FAX)
@DisplayNameFor(model=>model.E_-MAIL)
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.M_名称)
@DisplayFor(modeleItem=>item.FAM\u GV)
@DisplayFor(modeleItem=>item.TEL)
@DisplayFor(modelItem=>item.FAX)
@DisplayFor(modeleItem=>item.E\u-MAIL)
@ActionLink(“编辑”,新的{ogrn=item.M_NAMES},新的{@class=“btn btn primary btn large”})
}
...

请参考此链接:---@Mr.Roshan我的问题不是关于路线。我想发出post请求,但它不起作用,我不知道为什么。你想隐藏url??或者你的Post方法没有得到调用,你看起来没有表单标签,这就是为什么你的提交不起作用。提交按钮只会在有表单要提交时提交表单!但是,为什么需要在URL中隐藏ID?这只是一个ID,不是敏感数据,用户可能已经知道他们点击了什么…ADyson是对的。你的问题不是从URL中隐藏ID,而是在应用程序中添加一些后端安全性。如果UserA只能看到ID1,那么您需要在数据库中存储一些表示ID1的内容。这样,如果UserA试图查看任何他们不应该查看的内容,您可以在控制器(请求)中捕获它,并在他们看到任何他们不应该查看的内容之前将其重定向到相关的“失败”页面。在编辑URL中具有ID不是需要解决的问题。