请求参数在GET表单请求的URL中可见

时间:2015-03-05 08:58:14

标签: asp.net-mvc

在我的控制器上,我有这个动作:

[HttpGet]
public virtual async Task<ActionResult> Add()
{
    // get data and put in viewModel

    return View(viewModel);
}

当我点击我的添加按钮 - 在下拉列表旁边标题&#34; MyDefaultAddress&#34;被选中 - 要检索数据以预先填写公式中的某些数据,然后网址将更改为:

/Addresses/Add?title=MyDefaultAddress

返回到客户端的添加视图包含HTML.Partial(&#34;索引&#34;)在添加视图中的索引视图,因为索引视图具有删除/添加标题的下拉列表/编辑按钮。

当我实际上没有明确发送任何参数时,如何防止任何参数在GET请求的URL中可见?

这就是我提出要求的方式:

 $(".add-edit-btn").on("click", function (e) {
            e.preventDefault();
            $(this).closest("form")
            .attr({ 'action': '/@MVC.Configuration.Name/@MVC.Configuration.Addresses.Name/' + $(this).val(), 'method': 'Get' })
            .submit();

        });

使用$(this).val()我得到值&#34;添加&#34;这是添加按钮的值属性。我是否必须使用jquery检查我的表单并在添加请求之前删除标题?

当我进入HttpGet Add()动作并执行此操作时:

Request.QueryString
{title=AtHOme}
    [System.Web.HttpValueCollection]: {title=Zuhause}
    base: {title=Zuhause}
    AllKeys: {string[1]}

1 个答案:

答案 0 :(得分:0)

默认情况下,HTTP的GET方法旨在显示URL中的参数。唯一的选择是使用POST方法。