【发布时间】:2011-01-19 16:25:07
【问题描述】:
我正在尝试在 MVC 应用程序中设置动态路由,到目前为止我已经做到了...
string conString = "YATAYATAYATA";
SqlConnection con = new SqlConnection(conString);
SqlCommand cmd = new SqlCommand();
// Retrieve routes from database
cmd.CommandText = "SELECT R.*,S.* FROM Routes R INNER JOIN Sites S ON S.ID = R.SiteID WHERE S.ID = 1";
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
routes.MapRoute(
rdr["name"].ToString(), // Route name
rdr["url"].ToString(), // URL with parameters
new
{
controller = rdr["controller"].ToString(), // Controller name
action = rdr["action"].ToString(), // Action name
id = UrlParameter.Optional // Parameter defaults
}
);
}
现在这很好用,我唯一遇到的问题是我希望能够在数据库中指定一个逗号分隔的可选参数列表,我可以像这样提取...
Array optParams = rdr["parametersOpt"].ToString().Split(',');
但我不确定如何正确地将这些参数粘贴到路由对象中。可能只是我不熟悉的次要 C# 语法。
【问题讨论】:
-
你应该接受你的问题的答案。
-
哎呀...我想我忘了这样做...谢谢!我显然是个菜鸟……
标签: c# asp.net asp.net-mvc routes