我使用类似的路线这一个:如何传递特殊字符,以便ASP.NET MVC可以正确处理查询字符串数据?
routes.MapRoute("Invoice-New-NewCustomer",
"Invoice/New/Customer/New/{*name}",
new { controller = "Customer", action = "NewInvoice" },
new { name = @"[^\.]*" });
有它处理这条路线的动作:
public ActionResult NewInvoice(string name)
{
AddClientSideValidation();
CustomerViewData viewData = GetNewViewData();
viewData.InvoiceId = "0";
viewData.Customer.Name = name;
return View("New", viewData);
}
当我打电话return RedirectToAction("NewInvoice", "Customer", new {name});
和名称等于“C#的人”时, “name”参数被截断为“The C”。
所以我的问题是:ASP.NET MVC处理这种特殊字符的最佳方法是什么?
谢谢!
是它重定向到 发票/新建/客户/新建/本+ C%2523 +盖伊 或 客户/ NewInvoice?名称=在%2BC%2523%2BGuy ? – labilbe 2008-12-18 04:00:31
啊,我明白了。我会研究它。 – Haacked 2008-12-19 19:02:13