如何删除查询字符串中的空参数asp.net mvc
问题描述:
所以,我有一个方法接受一个字符串和一个对象,该对象具有MVC转换为查询字符串参数的值,我的问题是在哪里以及如何摆脱这些参数是空的,所以我的网址更干净。如何删除查询字符串中的空参数asp.net mvc
形式:
@using (@Html.BeginForm("Index", "ControllerName", FormMethod.Get,
new { enctype = "multipart/form-data", id = "form2" }))
//Should I do a check in here for null values before getting the request?
路由链接:
routes.MapRoute
(
"Default",
"{controller}/{action}/{id}",
new {controller = "Home", action = "Index", id = UrlParameter.Optional }
);
类:
class formModel{
public string name {get;set;}
public int? age {get;set;}
public Guid? jobId{get;set;}
public string Fullname {get;set;}
}
对象属性:
formModel{
name: "Mike",
age: 29,
jobId: null,
Fullname: ""
}
控制器动作:
[HttpGet]
public ActionResult Index(string sortByText, SearchFormModel formModel)
{
var model = new SomeViewModel();
model.FormModel = formModel;
//etc
return View(model);
}
网址:
例如:http://www.domain.com/mycontroller?name=Mike&age=29&jobId=&Fullname=&Find=Find
我怎样才能摆脱和的jobId的全名和查找?
答
我最终过滤了客户端JavaScript的表单数据,而不是任何不必要或空的查询参数。
一种可能性是使其可以为空并且不通过它。另一个是通过一个像0这样的虚拟值。 – 2013-02-22 17:58:11
我正在查看Global.asax的路由,看看我能否在那里做些什么。 – Rayshawn 2013-02-22 18:04:00
与行为方法有关的参数并非如此。接受一个可为空的ID,或者通过将其默认为0来使ID可选。 – 2013-02-22 18:05:20