gpt4 book ai didi

c# - 在 ASP.NET MVC 3 中以编程方式创建 routeValues(匿名类型)

转载 作者:太空狗 更新时间:2023-10-29 17:37:03 26 4
gpt4 key购买 nike

假设我们有一个页面包含一些支持从数据库搜索的元素,那么在 Post Action 中我们需要找到哪些元素是事件的,并根据该创建路由值,如下所示:

List<Parameter> SearchParameters = GetFilterParameters(collection);


if(SearchParameters.Count > 0)
foreach(Parameter item in SearchParameters) {

switch(item.Name) {
case "Category":
CategoryValue= item.Value;
break;

case "StartDate":
StartDateValue= item.Value;
break;


case "Product":
ProductValue= item.Value;
break;

}
return RedirectToAction("Index", new {category = CategoryValue, startdate=StartDateValue, product=ProductValue });

那么有什么方法可以动态定义routeValues 类似于下面的伪代码:

var dynamicRoutValues;
foreach(Parameter item in SearchParameters) {

dynamicRoutValues.Add(item.Name, item.Value)

}

return RedirectToAction("Index", dynamicRoutValues);

最佳答案

您可以使用 RouteValueDictionary :

var dynamicRoutValues = new RouteValueDictionary();
foreach(Parameter item in SearchParameters) {
dynamicRoutValues[item.Name] = item.Value;
}

return RedirectToAction("Index", dynamicRoutValues);

如果SearchParameters已实现 IDictionary<string, object>那么你可以将它直接传递给 RouteValueDictionary构造函数:

return RedirectToAction("Index", new RouteValueDictionary(SearchParameters));

关于c# - 在 ASP.NET MVC 3 中以编程方式创建 routeValues(匿名类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10258847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com