在我的控制器上,我有这个动作:
[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]}
答案 0 :(得分:0)
默认情况下,HTTP的GET方法旨在显示URL中的参数。唯一的选择是使用POST方法。