我想为某个操作返回RedirectResult
,但没有Url.Action()
。假设我有以下Controller
。
public class CustomerController : Controller
{
public ActionResult Index()
{
var url = Url.Action("CustomerAndProduct", new { customerId = 1, orderId = 2, productId = 3} );
return Redirect(url);
}
public ActionResult CustomerAndProduct(int customerId, int orderId, int productId)
{
// I want to get here...
}
}
有没有办法可以返回RedirectResult
而无需通过使用字符串手动指定操作名称和所有参数?原因是我觉得维护这些字符串很麻烦如果操作名称或参数名称更改。然后在编译时没有检测到。
也许是这样:
var url = Url.FromAction<CustomerController>(x => x.CustomerAndProduct(1, 2, 3));
return Result(url);
非常像Futures library:
Html.BeginForm<CustomerController>(x => x.CustomerAndProduct(1, 2, 3))
请注意,我不想执行CustomerAndProduct
。我只想将网址作为301
或302
返回。
答案 0 :(得分:1)
听起来你要求某种类型的安全吗?如果有,请查看t4MVC https://github.com/T4MVC/T4MVC它会让你写
return RedirectToAction(MVC.Customer.CustomerAndProduct(1,2,3));